Operações de Arquivo em Python – Ler e Escrever em arquivos com Python

Neste tutorial, vamos trabalhar nas diferentes operações de arquivo em Python. Vamos abordar como usar Python para ler um arquivo, escrever em um arquivo, excluir arquivos e muito mais. Então, sem mais delongas, vamos começar.

Trabalhando com Arquivos em Python

No tutorial anterior, usamos o console para receber entrada. Agora, estaremos recebendo entrada usando um arquivo. Isso significa que vamos ler e escrever em arquivos. Para fazer isso, precisamos seguir alguns passos. Esses são

  1. Abrir um arquivo
  2. Receber entrada desse arquivo / Escrever saída nesse arquivo
  3. Fechar o arquivo

Também aprenderemos algumas operações úteis, como copiar e excluir arquivos.

Por que são necessárias operações de arquivo em Python?

Ao lidar com conjuntos de dados grandes em problemas de aprendizado de máquina, trabalhar com arquivos é uma necessidade básica. Como Python é uma linguagem amplamente usada em ciência de dados, é necessário ser proficiente nas diferentes operações de arquivo que o Python oferece.

Então, vamos explorar algumas das operações de arquivo em Python aqui.

1. Abrir um arquivo em Python com a função open()

O primeiro passo para trabalhar com arquivos em Python é aprender como abrir um arquivo. Você pode abrir arquivos usando o método open().

A função open() em Python aceita dois argumentos. O primeiro é o nome do arquivo junto com o caminho completo e o segundo é o modo de abertura do arquivo.

Abaixo, listei alguns dos modos comuns de leitura para arquivos:

  • ‘r’ : Este modo indica que o arquivo será aberto apenas para leitura
  • ‘w’ : Este modo indica que o arquivo será aberto apenas para escrita. Se o arquivo com esse nome não existir, ele criará um novo
  • ‘a’ : Este modo indica que a saída desse programa será anexada à saída anterior desse arquivo
  • ‘r+’ : Este modo indica que o arquivo será aberto tanto para leitura quanto para escrita

Além disso, para o sistema operacional Windows, você pode anexar ‘b’ para acessar o arquivo em binário. Isso ocorre porque o Windows diferencia entre um arquivo de texto binário e um arquivo de texto regular.

Suponha que colocamos um arquivo de texto chamado ‘file.txt’ no mesmo diretório onde nosso código está localizado. Agora queremos abrir esse arquivo.

No entanto, a função open(filename, mode) retorna um objeto de arquivo. Com esse objeto de arquivo, você pode prosseguir com suas operações adicionais.

#diretório:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Outro método usando localização completa
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

O resultado do código a seguir será

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

2. Ler e escrever em arquivos em Python

O Python oferece vários métodos para ler e escrever em arquivos, onde cada função se comporta de maneira diferente. Uma coisa importante a observar é o modo de operações de arquivo. Para ler um arquivo, é necessário abri-lo no modo de leitura ou gravação. Enquanto para escrever em um arquivo em Python, você precisa que o arquivo esteja aberto no modo de gravação.

Aqui estão algumas das funções em Python que permitem ler e escrever em arquivos:

  • read() : Esta função lê o arquivo inteiro e retorna uma string
  • readline() : Esta função lê linhas do arquivo e as retorna como uma string. Ela busca a linha n, se for chamada pela n-ésima vez.
  • readlines() : Esta função retorna uma lista onde cada elemento é uma única linha desse arquivo.
  • readlines() : Esta função retorna uma lista onde cada elemento é uma única linha desse arquivo.
  • write() : Esta função escreve uma sequência fixa de caracteres em um arquivo.
  • writelines() : Esta função escreve uma lista de strings em um arquivo.
  • append() : Esta função anexa uma string ao arquivo em vez de sobrescrever o arquivo.

Vamos usar um arquivo de exemplo “abc.txt” e ler linhas individuais do arquivo com um loop for:

#abrir o arquivo
text_file = open('/Users/pankaj/abc.txt','r')

#obter a lista de linhas
line_list = text_file.readlines();

#para cada linha da lista, imprima a linha
for line in line_list:
    print(line)

text_file.close() #não se esqueça de fechar o arquivo

Output:

Agora que sabemos como ler um arquivo em Python, vamos avançar e realizar uma operação de escrita aqui com a função writelines().

#abrir o arquivo
text_file = open('/Users/pankaj/file.txt','w')

#inicializar uma lista vazia
word_list= []

#iterar 4 vezes
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #receber entrada
    word_list.append(line) #anexar à lista


text_file.writelines(word_list) #escrever 4 palavras no arquivo

text_file.close() #não se esqueça de fechar o arquivo

Output

3. Copiar arquivos em Python usando o método shutil()

Pode-se usar o módulo shutil para copiar arquivos em Python. Essa utilidade nos permite realizar operações de cópia e movimentação em Python em diferentes arquivos. Vamos trabalhar nisso com um exemplo:

import shutil

shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')

#outra maneira de copiar arquivo

shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')

print("File Copy Done")

4. Excluir arquivos em Python com o método shutil.os.remove()

O módulo shutil do Python oferece o método remove() para excluir arquivos do sistema de arquivos. Vamos dar uma olhada em como podemos realizar uma operação de exclusão em Python.

import shutil
import os

#duas maneiras de excluir arquivo
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

os.remove('/Users/pankaj/abc_copy2.txt')

5. Fechar um arquivo aberto em Python com o método close()

Quando você abre um arquivo em Python, é extremamente importante fechar o arquivo após fazer as alterações. Isso salva quaisquer mudanças que você tenha feito anteriormente, remove o arquivo da memória e impede leituras ou gravações adicionais no programa.

Sintaxe para fechar um arquivo aberto em Python:

fileobject.close()

Se continuarmos com nossos exemplos anteriores em que lemos arquivos, aqui está como você fecharia o arquivo:

text_file = open('/Users/pankaj/abc.txt','r')
# operações de arquivo aqui

text_file.close()

Além disso, você pode evitar o fechamento manual de arquivos se usar o bloco with. Assim que o bloco with for executado, os arquivos são fechados e não estão mais disponíveis para leitura e gravação.

6. Python FileNotFoundError

É comum receber o FileNotFoundError ao trabalhar com arquivos em Python. Isso pode ser facilmente evitado fornecendo caminhos de arquivo completos ao criar o objeto de arquivo.

  File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
    text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'

Para corrigir o FileNotFoundError, você só precisa verificar se o caminho mencionado para o método de abertura do arquivo está correto.

Conclusão

Estas são as operações de arquivo em Python. Existem muitas outras maneiras de usar arquivos dentro do Python, o que inclui a leitura de dados CSV e muito mais. Aqui está um artigo sobre como você pode usar o módulo Pandas para ler conjuntos de dados CSV em Python.

I hope you enjoyed reading the article! Happy learning 🙂

**Referências:
**
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

Source:
https://www.digitalocean.com/community/tutorials/python-read-file-open-write-delete-copy