Python – Como verificar se um arquivo existe

Como saber se um arquivo existe utilizando o Python? Para responder esta pergunta, precisamos saber como esta linguagem de programação “enxerga” os arquivos.

Acessando um arquivo no Python

Para que seu programa tenha acesso a todos os arquivos do computador é necessário importar o módulo os, que traz informações sobre o sistema operacional. Estamos mais interessados, especificamente, na árvore do diretório de arquivos, acessada por os.path. Este comando, então, fica assim:

 import os.path

Este comando permitirá que você acesse o arquivo que deseja. Então, podemos prosseguir a verificação usando uma das opções abaixo:

Usando a função os.path.exists

Quando você quer saber se um arquivo existe, pode utilizar a função os.path.exists. Um código utilizando esta função fica desse jeito:

import os.path
 os.path.exists(file_path)

Este código tem como retorno “Verdadeiro” ou “Falso”. Entretanto, ele também retorna verdadeiro para diretórios, além de arquivos.

Usando a função os.path.isfile

Esta função verifica se o caminho declarado realmente é um arquivo, e não um diretório.

import os.path
 os.path.isfile(file_path)

Abaixo, há um comparativo entre as duas funções, mostrando a diferença entre elas:

 print os.path.isfile("/bla/blebli")
 True
 print os.path.isfile("/bla")
 False
 print os.path.isfile("/we/have/a_problem")
 False
 print os.path.exists("/bla/blebli")
 True
 print os.path.exists("/bla")
 True
 print os.path.exists("/we/have/a_problem")
 False

As funções anteriores somente verificam se o arquivo existe. E se depois desta verificação o arquivo for excluído ou criado por outra função? Isto pode gerar um problema de segurança em seu programa, conhecido como “race condition”. Há, portanto, uma maneira mais segura, utilizando a opção abaixo:

Usando try/except

try:
 with open('file_name', 'r') as f:
 use_file(f)
 except IOError:
 print 'File does not exist!'

Esta função tenta abrir o arquivo somente para leitura (o ‘r’ depois do nome do arquivo). Caso o arquivo não exista, ela retorna a mensagem de erro. Quando usar esta solução, lembre-se que existem outros erros possíveis, como permissão de leitura, que você deve analisar antes declarar que o arquivo não existe.

Você conhece outras formas diferentes de checar se um arquivo existe no Python? Compartilhe na área de comentários abaixo.
Agora que você viu estas alternativas de resposta para esta pergunta, que tal explorar mais? Você pode conferir em nosso site vídeos sobre Python. Abaixo estão alguns exemplos:

Pokemon Trading Market Place

Object orientation and UML

Também pode seguir alguns dos nossos broadcasters que programam em Python, como os abaixo:

taddeimania

 

nchafni

 

Outra maneira legal de descobrir mais coisas interessantes sobre Python é acessar nossa página de projetos

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

Recent Posts

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

3 weeks ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

1 month ago

Highest Stable Coin Yields – (W12 – 2024)

It’s another week and like always we have to explore the top yield platforms for…

1 month ago

Binance Auto Invest – the Best Innovation in Crypto since Sliced Bread

At a time where we’re constantly seeking tools and strategies to simplify our crypto investments,…

1 month ago

Highest Stable Coin Yields – March 2024

As we kick off another week, it's time to explore the top yield platforms for…

2 months ago

Education Ecosystem Featured on Business Insider

We're excited to share that Education Ecosystem was recently featured in an article on Business…

2 months ago