Pitão

Como conservar objetos em Python

Como conservar objetos em Python
Todos os dados podem ser serializados e desserializados em Python usando JSON e módulo Pickle. Antes de armazenar quaisquer dados em um arquivo, os objetos Python são serializados usando o módulo pickle. Objetos Python são convertidos em fluxos de caracteres usando este módulo. Quando o usuário deseja recuperar os dados do arquivo para usar outro script Python, os dados do arquivo são desserializados pelo módulo pickle. Os recursos do módulo pickle e como este módulo pode ser usado no script Python para serialização e desserialização são descritos neste tutorial.

Características do Pickle:

dump () para serialização:

A função dump () é usada para converter os dados do objeto em um fluxo de caracteres antes de salvar em um arquivo. Esta função pode receber três argumentos. Os primeiros dois argumentos são obrigatórios e o último argumento é opcional. O primeiro argumento leva um objeto de dados que precisa serializar. O segundo argumento pega o objeto manipulador de arquivo desse arquivo onde os dados pckled serão armazenados. O último argumento leva o nome do protocolo.

Sintaxe:

despejo (data_object, file_object, [protocol])

load () para desserialização:

A função load () é usada para converter dados de fluxo de caracteres do arquivo em um objeto Python. Esta função contém apenas um argumento e o objeto manipulador de arquivo do arquivo passa como o valor do argumento de onde os dados serão recuperados.

Sintaxe:

carregar (objeto_arquivo)

Escolha um objeto simples para armazenar em um arquivo

Crie um arquivo chamado pickle1.py com o seguinte script python.  No script a seguir, um objeto de dados denominado dataObject é declarado para armazenar cinco nomes de idiomas, iterando o loop for. Em seguida, o método open () é usado para atribuir um manipulador de arquivos para a criação de um arquivo binário denominado línguas. jogar fora() função é usada aqui para serializar os dados de dataObject e armazene-o no línguas Arquivo.  Se a serialização for feita corretamente, uma mensagem, "Dados são serializados" será impressa.

# Importe o módulo pickle
importar picles
# Declare o objeto para armazenar dados
dataObject = []
# Repita o loop for 5 vezes e pegue os nomes dos idiomas
para n no intervalo (5):
raw = input ('Digite um nome de idioma:')
dataObject.anexar (bruto)
# Abra um arquivo para gravar dados
file_handler = open ('idiomas', 'wb')
# Despeja os dados do objeto no arquivo
salmoura.dump (dataObject, file_handler)
# feche o gerenciador de arquivos para liberar os recursos
file_handler.perto()
# Imprimir mensagem
imprimir ('Os dados são serializados')

Resultado:

Depois de executar o script, ele terá cinco nomes de idiomas como entrada.

Retirar dados de um arquivo

retirar os dados é o oposto de retirar os dados. Crie um arquivo chamado pickle2.py com o seguinte script python. Aqui, abrir() método é usado para abrir o arquivo binário denominado línguas, criado no exemplo anterior. carregar() função é usada para retirar os dados do arquivo e armazená-los na variável dataObject. Próximo, para loop é usado para iterar os dados do dataObject e imprimir no terminal.

# Importe o módulo pickle
importar picles
# Abra um gerenciador de arquivos para ler um arquivo de onde os dados serão carregados
file_handler = open ('idiomas', 'rb')
# Carregue os dados do arquivo após a desserialização
dataObject = pickle.carregar (file_handler)
# Feche o gerenciador de arquivos
file_handler.perto()
# Imprimir mensagem
imprimir ('Dados após desserialização')
# Itere o loop para imprimir os dados após a desserialização
para val em dataObject:
print ('O valor dos dados:', val)

Resultado:

A seguinte saída aparecerá após a execução do script.

Selecione um objeto de classe em um arquivo

Como um objeto de classe pode ser conservado é mostrado no exemplo a seguir. Crie um arquivo chamado pickle3.py com o seguinte script. Aqui, Empregado classe é declarada para atribuir três valores de dados de um funcionário. Em seguida, um objeto manipulador de arquivo denominado fileHandler é criado para abrir um arquivo para escrita. Depois de inicializar o objeto de classe, os dados são serializados usando jogar fora() função e armazenado no arquivo chamado EmployeeData. Se o arquivo for criado corretamente, a mensagem, “Os dados são serializados” irá imprimir.

# Módulo de importação de pickle
importar picles
# Declare a classe de funcionário para armazenar o valor
classe Funcionário:
def __init __ (self, name, email, post):
auto.nome = nome
auto.email = email
auto.post = post
 
#Create employee object
empObject = Employee ('Farheen', '[email protected]', 'Manager')
# Abrir arquivo para armazenar dados
fileHandler = open ('employeeData', 'wb')
# Salve os dados no arquivo
salmoura.dump (empObject, fileHandler)
# Feche o arquivo
fileHandler.perto()
# Imprimir mensagem
imprimir ('Os dados são serializados')

Resultado:

A seguinte saída aparecerá após a execução do script.

Retirar dados para um objeto de classe

Uma classe com as propriedades e métodos necessários exigirá a declaração para recuperar os dados de um arquivo para um objeto de classe. Crie um arquivo chamado pickle4.py com o seguinte código. Empregado classe é definida aqui para recuperar os dados. fileObject variável é usada para abrir o arquivo, EmployeeData para ler. Próximo, carregar() função é usada para armazenar os dados no objeto de classe após a desserialização. exibição() função do Empregado classe é chamada para imprimir os valores de dados do objeto de classe.

# Módulo de importação de pickle
importar picles
# Declare a classe de funcionários para ler e imprimir dados de um arquivo
classe Funcionário:
def __init __ (self, name, email, post):
auto.nome = nome
auto.email = email
auto.post = post
def display (self):
imprimir ('Informações do funcionário:')
print ('Nome:', self.nome)
print ('Email:', self.o email)
print ('Post:', self.publicar)
 
# Abra o arquivo para leitura
fileObject = open ('employeeData', 'rb')
# Retire os dados
funcionário = picles.carregar (fileObject)
# Fechar arquivo
fileObject.perto()
#print the dataframe
empregado.exibição()

Resultado:

A seguinte saída aparecerá após a execução do script.

Conclusão

O módulo Pickle é um recurso útil do Python para serialização e desserialização de dados. Depois de concluir os exemplos mostrados neste tutorial, a transferência de dados de um script Python para outro script Python será mais fácil para qualquer pessoa.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...