Como verificar se um arquivo existe com Python? (sem utilizar o try)

Neste artigo vamos aprender a verificar se um arquivo existe com Python, com formas alternativas, não utilizando a instrução try.

verificando se arquivo existe com python capa

Fala programador(a) beleza? Bora aprender mais sobre Python!

Na linguagem Python uma das maneiras mais utilizadas para verificar se um arquivo está presente  em um diretório é com o try, veja:

try:
    f = open('meuarquivo.txt')
    f.close()
except:
    print('O arquivo não existe!')

Mas há outras maneiras para verificar arquivo

Podemos utilizar a biblioteca os, veja um exemplo:

import os.path

if(os.path.isfile('arquivo.txt')):
  print("O arquivo existe")
else:
  print("O arquivo não existe")
Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Com o método isfile, podemos verificar se o arquivo que desejamos abrir é realmente um arquivo

Se quisermos apenas verificar se o arquivo está na pasta, temos esta forma:

import os.path

if(os.path.exists('/caminho/para/arquivo.txt')):
  print("O arquivo existe")
else:
  print("O arquivo não existe")

O método exists verifica a existência do arquivo

A partir da versão 3.4 do Python temos também o pathlib, que é uma maneira orientada a objetos de verificar se o arquivo existe

Vamos ver um exemplo:

from pathlib import Path

arquivo = Path("/caminho/para/arquivo")

if arquivo.is_file():
  print("O arquivo existe!")
else:
  print("O arquivo não existe!")

Com esta mesma biblioteca também é possível verificar a existência de diretórios, veja:

diretorio = Path("teste")

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

E estas são as maneiras de verificar se o arquivo está ou não no nosso projeto com Python! 🙂

Conclusão

Neste artigo vimos como verificar se um arquivo existe com Python

Utilizamos a biblioteca os e seus métodos e também a pathlib, que foi adicionada na versão 3.4 do Python

Porém é melhor utilizar o try sempre, pois o arquivo pode estar sendo editado ou ter sido movido ao você utilizar este comando

E o try vai garantir que você não execute seu programa de maneira errada

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

Qual a diferença entre isfile e exists?

Muita gente troca os dois achando que fazem a mesma coisa, mas não fazem

O isfile só retorna verdadeiro quando o caminho aponta pra um arquivo de verdade

Já o exists retorna verdadeiro pra qualquer coisa que exista naquele caminho, seja um arquivo ou uma pasta

Então se você precisa ter certeza que é um arquivo e não um diretório, vai de isfile 🙂

Como verificar se uma pasta existe com Python

Às vezes o que você quer não é um arquivo e sim um diretório

Com o os dá pra checar assim

import os.path

if(os.path.isdir(‘minha_pasta’)): print(‘A pasta existe’) else: print(‘A pasta não existe’)

E como a gente já viu ali em cima, o pathlib também resolve isso com o is_dir, então fica no gosto do freguês

Verificando antes de criar ou abrir um arquivo

Um uso bem comum é checar se o arquivo já existe antes de criar um novo e acabar sobrescrevendo algo importante

import os.path

if os.path.isfile(‘config.txt’): print(‘Esse arquivo já existe, cuidado pra não sobrescrever’) else: print(‘Pode criar numa boa’)

Assim você evita dor de cabeça com arquivo sobrescrito sem querer

Perguntas frequentes

Dá pra verificar se o arquivo existe sem abrir ele?

Dá sim, é exatamente isso que o os.path e o pathlib fazem, eles checam o caminho sem precisar abrir o arquivo

Qual é a forma mais moderna de verificar?

O pathlib é a pegada mais orientada a objetos e deixa o código mais limpo e fácil de ler

E por que ainda vale usar o try?

O try continua sendo o mais seguro na hora de realmente abrir o arquivo, porque ele pode sumir ou ser movido entre a verificação e o uso

Leia também

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares