Como ler e escrever arquivos de texto em Python

Como ler e escrever arquivos de texto em Python
Este artigo abordará um guia explicando o manuseio de arquivos externos em Python. O foco principal será a abertura e o fechamento do texto e outros arquivos de dados não binários armazenados em uma mídia de armazenamento, permitindo que você execute várias operações no conteúdo dos arquivos abertos.

Abertura e fechamento de um arquivo

Para ler dados de um arquivo de texto chamado “Dados.txt ”, você precisa usar o método“ aberto ”que vem com as compilações oficiais do Python. Verifique o código de amostra abaixo:

f = aberto ('dados.txt ',' r ')
f.fechar()

A primeira declaração abre os “dados.arquivo txt "no modo" r "(somente leitura). O método "aberto" aceita um nome de arquivo e o modo para lidar com o arquivo como argumentos. Além do modo "R", existem outros modos também que serão explicados mais tarde. O snippet de código acima não executa nenhuma operação no arquivo aberto. O método "Fechar" é usado para fechar o arquivo aberto de maneira limpa, para que a memória possa ser libertada e para evitar a corrupção de dados no arquivo aberto que pode acontecer às vezes se o arquivo não estiver fechado corretamente.

Em vez de usar o método “aberto” para lidar.

com open ('dados.txt ',' r ') como f:
passar

A principal vantagem de usar uma declaração "com aberto" é que o intérprete fecha automaticamente o arquivo aberto com segurança quando "com o código aberto" é analisado completamente. Embora o coletor de lixo em Python feche automaticamente os arquivos abertos depois de um tempo, conforme as regras predefinidas, "com declarações abertas" garantem que o arquivo seja fechado de maneira limpa assim que o bloco de código for concluído para liberar recursos.

Lendo linhas de um arquivo de texto

Para ler o conteúdo de um arquivo, use o exemplo de código abaixo:

com open ('dados.txt ',' r ') como f:
dados = f.ler()
Impressão (dados)

Por exemplo, se “dados.O arquivo txt ”possui 1-10 números, cada um em uma nova linha, você obterá a saída seguinte após a execução do código acima:

Todo o dump de dados dos “dados.O arquivo txt ”é armazenado na variável“ dados ”. Se você quiser ler linhas em uma lista, pode usar as seguintes amostras de código:

com open ('dados.txt ',' r ') como f:
dados = f.ReadLines ()
Imprimir (dados) com o aberto ('dados.txt ',' r ') como f:
dados = lista (f)
Impressão (dados)

Observe que o uso de trechos acima pode obter o caractere "\ n" (newline) no final de cada elemento na lista. Para remover esses caracteres da nova linha, você pode ter que percorrer a lista. Você pode criar uma nova lista e tirar os caracteres da Newline usando o seguinte código:

data_list = []
com open ('dados.txt ',' r ') como f:
para linha em f:
data_list.Anexe (linha.faixa())
Imprimir (Data_List)

A execução do código acima fará com que você segue a saída:

Escrevendo dados em um arquivo aberto

Para escrever dados em um arquivo que está sendo aberto usando a declaração "com aberto", você terá que fornecer um modo de abertura diferente como argumento. Aqui estão alguns dos modos:

  • 'a' - usado para anexar dados no final de um arquivo aberto, cria um novo arquivo se não existir
  • 'W' - apaga o conteúdo do arquivo aberto e grava novos dados, cria um novo arquivo se não existir
  • 'r' - modo somente leitura (modo padrão se nenhum argumento for fornecido)
  • 'r+' - usado para leitura e escrita (a posição inicial está no início do arquivo)
  • 'B' - o arquivo é aberto no modo binário (útil para arquivos binários não textos), pode ser combinado com outros modos
  • 'a+' - usado para ler e anexar, cria um novo arquivo se não existir
  • 'w+' - usado para ler e escrever, cria um novo arquivo se não existir

Alguns trechos de código usando modos diferentes para escrever dados estão listados abaixo.

Para escrever um novo conteúdo em um arquivo de texto enquanto apaga os dados existentes, use a seguinte amostra:

com open ('dados.txt ',' w ') como f:
f.Escreva ("1 \ n2")

Depois de executar o trecho acima, 1-10 números nos “dados.O arquivo txt ”deve ser substituído por duas novas linhas.

Para adicionar linhas no início de um arquivo de texto, você precisa usar o método "procurar" para voltar à posição inicial do buffer de arquivo:

com open ('dados.txt ',' r+') como f:
dados = f.ler()
f.procure (0)
f.Escreva ("-1 \ n0 \ n")
f.gravar (dados)

Depois de executar o trecho acima, os números -1 e 0 serão adicionados às duas principais linhas em “Dados.arquivos txt ”.

Para anexar dados no final do arquivo, use a seguinte amostra:

com open ('dados.txt ',' a ') como f:
f.Escreva ("11 \ n12")

Depois de executar o trecho acima, 11 e 12 números serão adicionados no final do arquivo.

Conclusão

Aulas e métodos internos no Python fornecem uma maneira robusta de lidar com arquivos de texto. Com apenas algumas linhas de código, você pode manipular dados existentes em um arquivo, além de inserir novas linhas.