Uncategorized

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:

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:

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.

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

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

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:

Python programação dicas

taddeimania

 

Python programação dicas

nchafni

 

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

About author

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.