Eliminar ficheiros e diretórios em Python
Eliminação avançada de ficheiros e diretórios em Python na AlexHost VPS
Por que deletar arquivos em Python? Gerir ficheiros e diretórios é uma tarefa essencial para os programadores, especialmente num VPS Linux da AlexHost que aloja aplicações dinâmicas ou plataformas CMS como o WordPress. Os módulos os, shutil e pathlib do Python tornam a exclusão de arquivos e diretórios eficiente e segura, com os SSDs e o acesso root da AlexHost garantindo o melhor desempenho. Este guia cobre métodos avançados de eliminação, completos com tratamento de erros, para uma gestão de ficheiros sem falhas.
Entendendo os módulos
1. Módulo os
O módulo os fornece a capacidade de utilizar funcionalidades dependentes do sistema operativo, como ler ou escrever no sistema de ficheiros. Inclui funções de eliminação de ficheiros e diretórios. A utilização do módulo os num ambiente de alojamento VPS Linux proporciona um controlo eficaz da gestão de ficheiros e de outras operações ao nível do sistema. Este módulo permite que os programadores executem acções como a leitura, escrita e eliminação de ficheiros 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 apagar um arquivo.
2. Módulo shutil
O módulo shutil oferece uma interface de alto nível para trabalhar com arquivos. É particularmente útil para copiar e apagar diretórios e ficheiros
Principais caraterísticas:
- 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 apagar arquivos movendo-os para um diretório inexistente.
3. Módulo Pathlib
O módulo pathlib fornece uma abordagem orientada a objectos para trabalhar com caminhos do sistema de ficheiros. Este módulo apareceu no Python 3.4 e é considerado mais intuitivo e fácil de ler
Principais caraterísticas:
- Path.unlink(): Apaga o arquivo.
- Path.rmdir(): Apaga um diretório vazio.
- Path.rmtree(): Para apagar um diretório e seu conteúdo, shutil.rmtree() é tipicamente usado em conjunto com Path.
Métodos avançados para apagar ficheiros e diretórios
Usando o módulo os
Aqui está como usar o módulo os para excluir arquivos e diretórios
Opção A: Executando em Python Interativo
- Abra uma sessão Python interactiva escrevendo
(Utilize python se é assim que o Python está configurado no seu sistema, mas python3 é normalmente o comando recomendado para Python 3.x).
- Copie e cole o código diretamente na sessão interativa (script abaixo)
bird B: Escrever para um ficheiro de script Python
- Crie um novo ficheiro usando um editor de texto como o nano
- Copie e cole o seguinte código no ficheiro (script abaixo)
- Agora podes executar o teu script Python a partir do terminal
Remover um único ficheiro
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'The file {file_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'An error occurred: {e}')