Utilizando Python para verificar se um arquivo existe

Verificar se um arquivo existe ou não é uma tarefa extremamente fácil de ser feita em Python, mas existem alguns detalhes… Abaixo está uma das abordagens possíveis.

O script abaixo verificar se um arquivo existe…

from pathlib import Path

fileName = "c:\temp\file.txt"
file = Path(fileName)
isFile = file.is_file()

A variável isFile será receberá o valor True se o arquivo existir ou False se não existir. O problema desta abordagem é que, se você não passar o caminho completo do arquivo (exemplo: fileName = “file.txt”, ele vai retornar false, mesmo se o arquivo existir.

Para utilizar o caminho relativo, podemos pegar o diretório onde o script está sendo executado:

import os

base_dir = os.path.dirname(os.path.realpath(__file__))

A variável __file__ existe no Python e possui a referência para o arquivo que está sendo executado.

Se unirmos as duas abordagens, podemos implementar um pseudo-retry pattern

def checkFile(file):
    pFile   = Path(file)
    isFile  = pFile.is_file()
    if(not isFile):
        BASE_DIR = os.path.dirname(os.path.realpath(__file__))
        pFile = Path(BASE_DIR +"\\" + file)
        isFile = pFile.is_file()

    return isFile

A função acima tentará verificar se o arquivo passado via argumento existe. Se não existir, ele concatena o caminho para o script atual com o nome do arquivo e tenta novamente.

 

Referência:

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Python and tagged , , , .