Verificar se diretório existe em Python

Neste artigo você vai aprender a como verificar se diretório existe em Python, de uma maneira simples e eficaz, para usar em seus programas

Verificar se diretório existe em Python

Conteúdo também disponível em vídeo:

Fala programador(a), beleza? Bora aprender mais sobre diretórios e Python!

Vamos utilizar a biblioteca os para fazer essa checagem de diretórios

Então primeiramente vamos importá-la, e depois utilizar o método isdir de path

Este método vai nos retornar um booleano, True ou False, que vai dizer se o diretório existe ou não

Veja um exemplo prático:

import os

if os.path.isdir("diretorio"):
    print("O diretório existe!")
else:
    print("O diretório não existe!")
Formação Vibe Coding
Formação Recomendada

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Desta maneira se o diretório existir, vamos entrar no if e receber a mensagem que ele existe

Caso não exista, entra no else e a mensagem que o diretório não existe é exibida

Há também uma outra biblioteca que pode nos ajudar a identificar a presença ou não do diretório

Veja o exemplo prático:

 from pathlib import Path
 
 if Path('diretorio').is_dir():
     print("O diretório existe!")

Desta vez utilizamos Path de pathlib, e checamos o diretório com o método is_dir(), que vai novamente retornar um booleano como resposta

Conclusão

Neste artigo aprendemos a como verificar se diretório existe em Python

Utilizamos a biblioteca os, ela tem alguns métodos que nos ajuda a trabalhar com diretórios e arquivos

Para resolver o nosso problema, utilizamos isdir, que é um método de path, um objeto da os

E desta maneira identificamos se um diretório existe ou não

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Tratando o caso negativo com pathlib:

No exemplo acima só cobrimos o caso positivo, quando o diretório está lá

Mas na vida real tu vai querer tratar os dois caminhos, igual fizemos com a os

É só adicionar o else, porque o retorno continua sendo um booleano:

from pathlib import Path

if Path('diretorio').is_dir():
print("O diretório existe!")
else:
print("O diretório não existe!")

Repara que a lógica é exatamente a mesma do primeiro exemplo

Muda a ferramenta, não muda o raciocínio: pergunta, recebe True ou False, decide o que fazer 🙂

os ou pathlib: qual dos dois usar?

Essa é a pergunta que sempre aparece depois de ver os dois exemplos

Os dois respondem a MESMA coisa: um booleano dizendo se aquele diretório está lá ou não

A diferença está no jeito de escrever

Com a os tu chama uma função e passa o caminho como argumento, no estilo os.path.isdir("diretorio")

Com o pathlib tu cria um objeto de caminho e pergunta pra ele, no estilo Path(‘diretorio’).is_dir()

Se tu já tem o projeto todo usando a os, segue com a os, não precisa trocar nada só por estética

Se tu está começando o código agora e gosta de leitura mais orientada a objeto, o pathlib costuma ficar mais confortável de ler

Não tem escolha errada aqui, tem escolha coerente com o resto do teu código

Perguntas frequentes sobre verificar diretório em Python:

Dá pra guardar o resultado em uma variável?

Dá sim, e fica bem mais legível quando tu precisa usar a mesma resposta em mais de um lugar

import os

existe = os.path.isdir("diretorio")

if existe:
print("O diretório existe!")
else:
print("O diretório não existe!")

Como o retorno é um booleano, a variável já vem valendo True ou False

O diretório está lá, mas o código diz que não existe, e agora?

Esse é o erro mais comum, e quase sempre é o caminho que tu passou

Quando tu escreve só o nome, tipo "diretorio", tu está pedindo pra procurar a partir de onde o programa está sendo executado, e não de onde o arquivo .py está aberto no editor

Teste passando o caminho completo até a pasta e veja se a resposta muda

E confere se o nome está escrito exatamente igual, inclusive maiúsculas e minúsculas

Já me ferrei uma vez por causa de uma letra maiúscula, é sério haha

Preciso instalar alguma coisa pra usar isso?

Não

Tanto a os quanto o pathlib já vêm com o Python, tu só precisa do import no topo do arquivo, igual fizemos nos exemplos

Leia também

Subscribe
Notify of
guest

2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Leandro Emanuel Alves da Silva

Blog muito bom continue assim, eu sei que você ainda não tem muita fama mas uma hora vai vai conseguir ser reconhecido por todos como um bom mentor de programação, igual Gustavo Guanabara, Filipe Deschamps, etc.

Battisti

obrigado pelas palavras Leandro, abraço! 🙂

Formações

Formação SAAS com IA

Formação SAAS com IA

Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!

  • 291 aulas
  • 18 projetos
  • 24h 17min

Blog | Mais populares