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 fileLendo 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.