21.12.2022 Views

python_para_desenvolvedores_2ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Persistência 151

Persistência

Persistência pode ser definida como a manutenção do estado de uma

estrutura de dados entre execuções de uma aplicação. A persistência libera o

desenvolvedor de escrever código explicitamente para armazenar e recuperar

estruturas de dados em arquivos e ajuda a manter o foco na lógica da

aplicação.

Serialização

A forma mais simples e direta de persistência é chamada de serialização 25 e

consiste em gravar em disco uma imagem (dump) do objeto, que pode ser

recarregada (load) posteriormente. No Python, a serialização é implementada

de várias formas, sendo que a mais comum é através do módulo chamado

pickle.

Exemplo de serialização:

▪ O programa tenta recuperar o dicionário setup usando o objeto do

arquivo “setup.pkl”.

▪ Se conseguir, imprime o dicionário.

▪ Se não conseguir, cria um setup default e salva em “setup.pkl”.

import pickle

try:

setup = pickle.load(file('setup.pkl'))

print setup

except:

setup = {'timeout': 10,

'server': '10.0.0.1',

'port': 80

}

pickle.dump(setup, file('setup.pkl', 'w'))

Na primeira execução, ele cria o arquivo. Nas posteriores, a saída é:

25 Em inglês, serialization ou marshalling.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!