Como ler e escrever arquivos em Python
Ler e escrever em arquivos é uma tarefa comum na programação, e o Python facilita isso com seus recursos de manipulação de arquivos integrados. Entender como trabalhar com arquivos é essencial para qualquer programador Python, pois permite que você manipule armazenamento de dados, registro, gerenciamento de configuração e muito mais. Este guia abordará como abrir, ler, escrever e fechar arquivos no Python, bem como como lidar com diferentes modos de arquivo.
Abrindo e fechando arquivos
Em Python, você usa a função open()
para abrir um arquivo. A função open()
retorna um objeto de arquivo, que fornece métodos para leitura e escrita. É importante fechar um arquivo depois de terminar de usá-lo usando o método close()
para liberar recursos do sistema.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Lendo arquivos
Existem várias maneiras de ler o conteúdo de um arquivo em Python, dependendo de suas necessidades:
Leia o arquivo inteiro
O método read()
lê todo o conteúdo do arquivo em uma única string.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Ler linhas de um arquivo
O método readline()
lê uma linha do arquivo, enquanto readlines()
lê todas as linhas e as retorna como uma lista.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Lendo arquivos linha por linha
O método preferido para ler um arquivo linha por linha é usar um loop for
diretamente no objeto de arquivo. Essa abordagem é eficiente em termos de memória, especialmente para arquivos grandes.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Escrevendo em arquivos
O Python permite que você escreva em arquivos usando os métodos write()
e writelines()
. Você precisa abrir o arquivo em um modo que suporte escrita, como 'w'
(escrever) ou 'a'
(acrescentar).
Escrevendo em um arquivo
O método write()
grava uma única string em um arquivo. Abrir um arquivo no modo de gravação 'w'
criará um novo arquivo ou sobrescreverá um arquivo existente.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
Anexando a um arquivo
Abrir um arquivo no modo de acréscimo 'a'
permite que você adicione conteúdo ao final de um arquivo existente sem sobrescrever seu conteúdo.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Escrevendo várias linhas
O método writelines()
é usado para escrever múltiplas linhas em um arquivo. Ele espera uma lista de strings, cada uma representando uma linha.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Modos de arquivo
A função open()
do Python suporta vários modos para abrir arquivos:
'r'
- Modo de leitura (padrão). Abre um arquivo para leitura.'w'
- Modo de gravação. Abre um arquivo para gravação (cria um novo arquivo ou trunca um arquivo existente).'a'
- Modo Append. Abre um arquivo para anexação (cria um novo arquivo se ele não existir).'r+'
- Modo de leitura e escrita. Abre um arquivo para leitura e escrita.'b'
- Modo binário. Abre um arquivo em modo binário (usado com'rb'
,'wb'
, etc.).
Conclusão
Ler e escrever em arquivos em Python é simples quando você entende os conceitos básicos e os modos de arquivo. Ao dominar o manuseio de arquivos, você pode gerenciar dados de forma eficiente, manipular entrada/saída do usuário e automatizar tarefas que envolvem operações de arquivo. Pratique o uso dessas técnicas para se tornar proficiente no gerenciamento de arquivos em Python.