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
- Abrir um arquivo
- Receber entrada desse arquivo / Escrever saída nesse arquivo
- 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