Verificando Existência de Arquivos e Diretórios em Python – Guia Prático
Verificando Existência de Arquivos e Diretórios em Python – Guia Prático
Por que Verificar Existência de Caminho Importa
Ao construir aplicações Python robustas, você frequentemente precisa confirmar se um arquivo ou diretório está presente antes de realizar operações como leitura, escrita ou exclusão. Pular esta verificação pode levar a erros em tempo de execução e falhas inesperadas. Este guia cobre os métodos mais confiáveis, baseados na documentação oficial do Python e padrões de boas práticas.
Usando os.path.exists()
O módulo os.path, parte da biblioteca padrão, fornece a função exists() que retorna True se um caminho se refere a um arquivo ou diretório existente. É o método mais usado para verificações simples de existência.
import os
from os import path
print(path.exists('guru99.txt')) # True se o arquivo existe
print(path.exists('meuDiretorio')) # True se o diretório existe
Caso de Uso Típico
def verificar_item(caminho):
if path.exists(caminho):
print(f"{caminho} existe.")
else:
print(f"{caminho} não existe.")
Distinguindo Arquivos de Diretórios
Para identificar o tipo específico de um caminho existente, o Python oferece duas funções complementares: isfile() e isdir(). Elas retornam True apenas se o caminho for um arquivo regular ou um diretório, respectivamente.
print(path.isfile('guru99.txt')) # True se for arquivo
print(path.isdir('meuDiretorio')) # True se for diretório
Aproveitando pathlib – A Abordagem Moderna
Introduzido no Python 3.4, o módulo pathlib oferece uma interface orientada a objetos para caminhos do sistema de arquivos. Seus objetos Path fornecem métodos como exists(), is_file() e is_dir(), que muitos desenvolvedores acham mais legíveis.
from pathlib import Path
caminho_arquivo = Path('guru99.txt')
print(caminho_arquivo.exists()) # True se arquivo ou diretório existe
print(caminho_arquivo.is_file()) # True se for arquivo regular
print(caminho_arquivo.is_dir()) # True se for diretório
Boas Práticas Recomendadas
- Importe o módulo uma vez; evite imports repetitivos.
- Use objetos
Pathpara novos projetos para se beneficiar de sintaxe mais clara. - Ao realizar operações de escrita, verifique existência primeiro para evitar sobrescrita ou criar diretórios com
Path.mkdir(). - Trate exceções
FileNotFoundErrorao acessar caminhos que podem mudar entre verificações e operações.
Referência Rápida
| Função | Retorna True Se |
|---|---|
os.path.exists() | Caminho ou diretório existe |
os.path.isfile() | Caminho é um arquivo regular existente |
os.path.isdir() | Caminho é um diretório existente |
pathlib.Path.exists() | Caminho ou diretório existe (Python 3.4+) |
pathlib.Path.is_file() | Caminho é um arquivo regular existente |
pathlib.Path.is_dir() | Caminho é um diretório existente |
Para documentação detalhada, consulte os módulos oficiais os.path e pathlib.
python
- Python File I/O: Dominando Operações de Arquivo, Leitura, Escrita e Gerenciamento
- Dominando Operações com Diretórios e Arquivos em Python
- Obter Data e Hora Atuais em Python: Guia Prático
- Verifique e Calibre Seu Sensor de Umidade para Medições Precisas
- Função Print() do Python: Guia Prático com Exemplos
- Print em Python Sem Nova Linha: Dominando o Parâmetro end e Outras Técnicas
- Python JSON: Codificação, Decodificação e Manipulação de Arquivos – Guia Prático
- Calculando Médias em Python: Guia Prático
- Guia Completo para Configurar o Seu Ambiente de Desenvolvimento Python
- Python I/O de Arquivos: Dominando Operações de Entrada e Saída