Operações de Arquivos em Python – Leitura e Escrita de arquivos com Python

No tutorial, vamos trabalhar nas diferentes operações de arquivo em Python. Vamos abordar como usar o 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 leremos e escreveremos em arquivos. Para fazer isso, precisamos seguir algumas etapas. São elas

  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 arquivo e excluir arquivo.

Por que são necessárias as 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 o 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 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 a 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 com o caminho completo e o segundo é o modo de abertura do arquivo.

Abaixo, listei alguns modos comuns de leitura de 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 será criado
  • ‘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 acrescentar ‘b’ para acessar o arquivo em formato 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 com o nome ‘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 se observar é o modo de operações de arquivo. Para ler um arquivo, você precisa 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() : Essa função lê o arquivo inteiro e retorna uma string
  • readline() : Essa função lê linhas do arquivo e retorna como uma string. Ela busca a linha n, se for chamada pela n-ésima vez.
  • readlines() : Essa função retorna uma lista onde cada elemento é uma única linha daquele arquivo.
  • readlines() : Essa função retorna uma lista onde cada elemento é uma única linha daquele 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 acrescenta uma string ao arquivo em vez de sobrescrever o arquivo.

Vamos pegar um exemplo de arquivo “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, imprimir a linha
for line in line_list:
    print(line)

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

Resultado:

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) #acrescentar à lista


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

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

Resultado

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

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

import shutil

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

#outra forma 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 formas 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 fechá-lo após fazer as alterações. Isso salva quaisquer alterações que você tenha feito anteriormente, remove o arquivo da memória e impede qualquer leitura ou escrita adicional dentro do 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 fechar arquivos manualmente 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 escrita.

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ê simplesmente precisa verificar se o caminho mencionado para o método open de arquivo está correto.

Conclusão

Aqui estã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