Queer Asian American

I am a Queer Asian American. I am currently writing this but am not completely out of the closet at the moment. I noticed as a medium.com writer that there is a lack of queer writers, especially…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Trabalhando com arquivos em Python

Como ler e escrever em arquivos em python usando serialização JSON. Como utilizar os diferentes modos de leitura e escrita em arquivos.

Para trabalhar com arquivos em Python precisamos de uma referência para o arquivo, e obtemos isto utilizando a função open().

O segundo parâmetro indica qual o tipo de operação será feita no arquivo (mode). Veja na tabela abaixo as opções.

Modos de leitura e escrita de arquivos em python

Toda vez que abrimos um arquivo ficamos com uma referência dele, estamos alocando um recurso do sistema operacional. Por isto tão importante quanto a função open() é a função close(). Que fecha o arquivo e libera o recurso.

Vamos ver como isto funciona na prática. Primeiro vamos escrever em um arquivo e depois ler seu conteúdo:

Melhor do que sempre lembrar de chamar a função close() é utilizar um mecanismo do Python que cria um contexto que garante que todos os recursos que estão sendo usados no contexto sejam fechados quando ele termina. Para criar este contexto utilizamos a palavra with. Veja como o código fica muito mais limpo, é a maneira mais segura de trabalhar com arquivos em Python:

Vamos testar agora a opção ‘a’ que nos permite adicionar conteúdo ao arquivo:

Utilizamos o caractere \n para quebrar linha.

Se fizermos a mesma sequencia de operações, porém utilizando a opção ‘w’ na segunda escrita, vamos ver que a palavra “texto 1” vai sumir do arquivo, isto por que a opção ‘w’ limpa o arquivo se ele já existe e coloca o ponteiro no início.

Imagine que temos um objeto, por exemplo um dicionário e queremos guardá-lo em um arquivo ou transmití-lo por internet. Para fazer isto é preciso transformar este objeto em um formato que possa ser reinterpretado para que o objeto possa ser reconstruído depois.

O processo de serialização é a transformação de um objeto em memória em uma representação de texto ou binária. E o processo de deserialização é o inverso, a partir de um texto ou conteúdo binário é possível montar um objeto.

Processo de serialização e deserialização

Todas as linguagens de programação possuem bibliotecas de serialização, que permitem transformar o arquivo em diversos formatos como por exemplo binário, texto, xml, json, csv, etc.

JSON é um formato de dados muito utilizado na internet, milhares de serviços na internet se comunicam utilizando JSON e por este motivo vamos aprender a guardar informações em JSON.

Vamos preciar importar o módulo json do Python. Uma das funções dele é a função dump() que recebe o objeto que queremos guardar e uma referência de arquivo onde os dados serão guardados. Vamos criar nossa lista de contato e salvá-la em arquivo no formato JSON:

Você verá um arquivo com o nome contatos.json com o conteúdo muito similar ao do objeto. Isto ocorre por que a sintaxe do Python para dicionários é muito similar ao formato JSON.

E para ler de um arquivo JSON e transformar em um objeto do Python também e simples, utilizamos a função load().

Precisamos lembrar que a primeira vez que este programa for executado, o arquivo de contatos não vai existir. Por isto fazemos uma verificação utilizando a função exists() do modulo os.path e só tentamos abrir o arquivo caso ele já exista. Como inicializamos a variável contatos com um dicionário vazio podemos retornar ela sem problemas.

O próximo passo é fazer a função que grava os contatos no arquivo. A ideia é receber o dicionário de contatos e salvá-lo no arquivo.

Agora que já temos as funções básicas, podemos atualizar nosso programa de contos para carregar os contatos logo no início e salvar toda vez que um novo contato é inserido.

Add a comment

Related posts:

The Elegance of Black Driver

One of the fan-favorite characters of the Arrow is John Diggle, The Arrow’s right-hand man, and the Vigilante Spartan. Diggle is former military turned Private Security and shows up in The Arrow as…

Film as Propaganda

In my Media and Culture class that I am taking this semester, we are discussing the history and impact of the film industry on the world. During one particular lesson, my professor discussed what the…

Web3 and Crypto Terms

Web3 and Crypto Terms. Approval: Give approval to another account, so that the approved account can transfer the approved NFT or Token from the owner’s account..