1. Abertura e Fechamento de Arquivos
O primeiro passo para trabalhar com arquivos em Python é saber como abrir e fechar um arquivo. A função open()
é usada para abrir um arquivo, enquanto o método close()
garante que ele seja fechado corretamente após o uso.
# Exemplo de abertura e fechamento de arquivo
arquivo = open('exemplo.txt', 'r') # Abrir o arquivo no modo leitura
conteudo = arquivo.read() # Ler o conteúdo do arquivo
print(conteudo)
arquivo.close() # Fechar o arquivo
Embora você possa fechar o arquivo manualmente, uma prática comum é usar o gerenciador de contexto with
, que fecha automaticamente o arquivo após seu uso.
# Usando with para manipular arquivos
with open('exemplo.txt', 'r') as arquivo:
conteudo = arquivo.read()
print(conteudo)
Essa abordagem é mais segura, pois garante que o arquivo seja fechado corretamente, mesmo que ocorra uma exceção durante a manipulação.
2. Modos de Abertura de Arquivos
Python oferece diferentes modos para abrir um arquivo, dependendo do que você deseja fazer:
- 'r': Modo de leitura. Retorna um erro se o arquivo não existir.
- 'w': Modo de escrita. Cria um novo arquivo ou sobrescreve o existente.
- 'a': Modo de adição (append). Adiciona conteúdo ao final do arquivo.
- 'b': Modo binário. Usado para ler ou escrever arquivos binários.
# Exemplo de escrita em arquivo
with open('exemplo.txt', 'w') as arquivo:
arquivo.write('Este é o novo conteúdo do arquivo.')
Se o arquivo exemplo.txt
já existir, o conteúdo antigo será sobrescrito. Caso contrário, um novo arquivo será criado.
3. Leitura de Arquivos
Existem várias maneiras de ler o conteúdo de um arquivo em Python. A função read()
lê todo o conteúdo do arquivo como uma string, enquanto readline()
lê o arquivo linha por linha.
# Ler todo o conteúdo de um arquivo
with open('exemplo.txt', 'r') as arquivo:
conteudo = arquivo.read()
print(conteudo)
# Ler o arquivo linha por linha
with open('exemplo.txt', 'r') as arquivo:
for linha in arquivo:
print(linha.strip())
O método strip()
remove espaços em branco ou quebras de linha extras ao redor da string, deixando o conteúdo mais organizado.
4. Manipulação de Arquivos CSV
Arquivos CSV (Comma-Separated Values) são amplamente utilizados para armazenar e transferir dados tabulares. Python oferece a biblioteca csv
, que facilita a leitura e escrita desses arquivos.
# Exemplo de leitura de arquivo CSV
import csv
with open('dados.csv', 'r') as arquivo_csv:
leitor_csv = csv.reader(arquivo_csv)
for linha in leitor_csv:
print(linha)
# Exemplo de escrita em arquivo CSV
with open('novo_dados.csv', 'w', newline='') as arquivo_csv:
escritor_csv = csv.writer(arquivo_csv)
escritor_csv.writerow(['Nome', 'Idade', 'Cidade'])
escritor_csv.writerow(['Ana', 30, 'São Paulo'])
O parâmetro newline=''
é utilizado para evitar linhas em branco ao gravar em um arquivo CSV no Windows.
5. Copiar, Mover e Renomear Arquivos
Python oferece a biblioteca shutil
para realizar operações como copiar, mover e renomear arquivos.
# Exemplo de cópia e movimentação de arquivos
import shutil
# Copiar um arquivo
shutil.copy('exemplo.txt', 'copia_exemplo.txt')
# Mover um arquivo
shutil.move('copia_exemplo.txt', 'nova_pasta/copia_exemplo.txt')
# Renomear um arquivo
shutil.move('nova_pasta/copia_exemplo.txt', 'nova_pasta/arquivo_renomeado.txt')
Com essas funções, você pode facilmente gerenciar e organizar seus arquivos de forma automatizada.
6. Exclusão de Arquivos
Para excluir arquivos, você pode usar a biblioteca os
, que oferece o método remove()
para remover arquivos individuais e rmdir()
para remover diretórios vazios.
# Excluir um arquivo
import os
os.remove('arquivo_para_excluir.txt')
# Excluir um diretório vazio
os.rmdir('pasta_vazia')
Se o diretório não estiver vazio, você precisará usar shutil.rmtree()
para excluir a pasta e todo o seu conteúdo.
# Excluir diretório com conteúdo
import shutil
shutil.rmtree('pasta_com_arquivos')
Conclusão
Manipular arquivos com Python é simples e eficaz, seja para ler, escrever, copiar, mover ou excluir arquivos. Com o uso das bibliotecas nativas, como os
, shutil
e csv
, você pode automatizar a gestão de arquivos e melhorar seu fluxo de trabalho. Com essas ferramentas, Python se torna um aliado poderoso na manipulação de grandes volumes de dados de forma automatizada.