Exclusão de arquivos e diretórios em Python
Em Python, trabalhar com arquivos e diretórios é uma tarefa comum, especialmente para aplicativos que exigem a manipulação de arquivos. Este tutorial se concentra em métodos avançados de exclusão de arquivos e diretórios usando vários módulos Python, incluindo os, shutil e pathlib. Cada um desses módulos fornece uma funcionalidade diferente para trabalhar com o sistema de arquivos, permitindo que você gerencie arquivos e diretórios com eficiência. Para fazer download do Python, acesse o seguinte link da fonte oficial python.org.
Entendendo os módulos
1. Módulo os
O módulo os oferece a capacidade de usar a funcionalidade dependente do sistema operacional, como ler ou gravar no sistema de arquivos. Ele inclui funções de exclusão de arquivos e diretórios. O uso do módulo os em um ambiente de hospedagem VPS Linux oferece controle efetivo sobre o gerenciamento de arquivos e outras operações no nível do sistema. Esse módulo permite que os desenvolvedores executem ações como leitura, gravação e exclusão de arquivos e diretórios diretamente no servidor
Principais recursos:
- os.remove(path): Remove o caminho para um arquivo.
- os.rmdir(path): Remove (destrói) o caminho para um diretório. O diretório deve estar vazio.
- os.unlink(path): Outro nome para a função os.remove() usada para excluir um arquivo.
2. Módulo shutil
O módulo shutil oferece uma interface de alto nível para trabalhar com arquivos. Ele é particularmente útil para copiar e excluir diretórios e arquivos.
Principais recursos:
- shutil.rmtree(path): Remove recursivamente um diretório e todo o seu conteúdo, incluindo subdiretórios e arquivos.
- shutil.move(src, dst): Move um arquivo ou diretório para outro local. Também pode ser usado para excluir arquivos, movendo-os para um diretório inexistente.
3. Módulo Pathlib
O módulo pathlib oferece uma abordagem orientada a objetos para trabalhar com caminhos do sistema de arquivos. Esse módulo apareceu no Python 3.4 e é considerado mais intuitivo e fácil de ler.
Principais recursos:
- Path.unlink(): Exclui o arquivo.
- Path.rmdir(): Exclui um diretório vazio.
- Path.rmtree(): Para excluir um diretório e seu conteúdo, shutil.rmtree() é normalmente usado em conjunto com Path.
Métodos avançados de exclusão de arquivos e diretórios
Uso do módulo os
Veja a seguir como usar o módulo os para excluir arquivos e diretórios:
Opção A: execução em Python interativo
- Abra uma sessão interativa do Python digitando:
(Use python se for assim que o Python estiver configurado em seu sistema, mas python3 é geralmente o comando recomendado para o Python 3.x).
- Copie e cole o código diretamente na sessão interativa (script abaixo)
bird B: Gravação em um arquivo de script Python
- Crie um novo arquivo usando um editor de texto como o nano:
- Copie e cole o seguinte código no arquivo (script abaixo)
- Agora você pode executar seu script Python no terminal:
Remoção de um único arquivo
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'O arquivo {file_path} não existe')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'Ocorreu um erro: {e}')