Python para gerenciamento de arquivos e diretórios
Gerenciar arquivos e diretórios é uma atividade comum, mas tediosa. Felizmente, o Python pode nos ajudar nessas horas e tornar a tarefa simples e rápida. Neste post, exploraremos as várias maneiras de criar, mover e excluir arquivos e diretórios usando os módulos integrados do sistema de arquivos do Python.
Criando arquivos
import os
# Cria um novo arquivo - use o nome que precisar
with open('meu_arquivo.txt', 'w') as f:
f.write('Olá, mundo!') # adicione o seu conteúdo
Neste código, primeiro abrimos um arquivo com o nome que desejamos. Depois, escrevemos o conteúdo desejado nele.
Como alternativa ao módulo os, você pode usar o módulo pathlib. Ele fornece uma maneira mais moderna de trabalhar com arquivos e diretórios em Python. Para criar um novo arquivo usando pathlib, você pode usar o seguinte código:
import pathlib
# Cria um novo arquivo
file = pathlib.Path('meu_arquivo.txt')
with open(file, 'w') as f:
f.write('Olá, mundo!')
Crie diretórios com Python
Para criar um novo diretório com Python, você pode usar a função os.mkdir() ou os.makedirs() do módulo os. A primeira cria somente um diretório de cada vez. A segunda (os.makedirs()) consegue criar diretórios dentro de diretórios. Ou seja, ela é ideal para gerenciar estruturas de diretórios complexas. Veja exemplos de como usar ambas as funções:
import os
# Cria um novo diretório
os.mkdir('diretorio_novo')
# Cria um novo diretório com outro dentro
os.makedirs('diretorio_novo/subdiretorio_novo')
Para criar um novo diretório usando pathlib, você pode usar o seguinte código:
import pathlib
dir = pathlib.Path('diretorio_novo/subdiretorio_novo')
dir.mkdir(parents=True, exist_ok=True)
A função mkdir() pode criar diretórios únicos ou estruturas complexas com um diretório dentro do outro como no exemplo acima. O argumento padrão parents=True garante a criação de estruturas de diretórios complexos. Se ele for mudado para False, o mkdir() somente poderá criar diretórios simples. Já o argumento exist_ok=True garante que, quando o diretório que queremos criar já existir, o código não irá gerar uma exceção. Outra forma de evitar exceções é usando um bloco try-except:
# use try/except para evitar exceção quando o diretório existir
try:
os.mkdir('diretorio_novo')
except FileExistsError:
print('O diretório já existe!')
Como mover arquivos e diretórios
Após criar um arquivo ou diretório, muitas vezes precisamos movês-lo para um local diferente.
Para mover um arquivo, você pode usar a função os.rename(). Ela permite tanto renomear arquivos quanto os mover para locais diferentes:
import os
# Move um arquivo para novo local
os.rename('arquivo.txt', 'novo_local/arquivo.txt')
O módulo pathlib também pode ser usado para mover arquivos de forma bem semelhante:
import pathlib
arquivo = pathlib.Path('arquivo.txt')
arquivo.rename('novo_local/arquivo.txt')
Excluindo arquivos e diretórios com Python
Após criar arquivos e diretórios, é essencial excluí-los quando eles não forem mais necessários.
Para excluir um arquivo, você pode usar a função os.remove():
import os
# Remove um arquivo
os.remove('arquivo.txt')
Você também pode usar o módulo pathlib:
import pathlib
file = pathlib.Path('arquivo.txt')
file.unlink()
Para excluir um diretório, você pode usar a função shutil.rmtree() do módulo shutil:
import shutil
# Deleta um diretório
shutil.rmtree('diretorio')
Dicas importantes
Um risco comum ao gerenciarmos arquivos programaticamente com Python ocorre quando não nos certificamos corretamente sobre seus nomes e possíveis conflitos. Isso pode nos levar a perder documentos importantes e também pode gerar exceções nos códigos. Portanto, sempre verifique se o arquivo ou diretório existe antes de tentar criá-lo, movê-lo ou excluí-lo. E sempre garanta que os nomes estão corretos. Lembre-se de usar blocos try-except para capturar as exceções que possam ocorrer ao trabalhar com arquivos e diretórios. Esteja atento também às permissões ao criar, mover ou excluir arquivos e diretórios.