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:
Latest posts by Breno RdV (see all)
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
- Ordenando um DataFrame por múltiplas colunas. (#python #pandas #jupyter #dev #data) - agosto 3, 2022