Вы можете определить абсолютный путь к скрипту, используя sys.argv[0]
, а затем заменить имя этого скрипта на файл конфигурации для проверки, например:
import sys
import pathlib
path = path.Pathlib(sys.argv[0]).resolve()
if path.with_name('main.conf').is_file():
# ...
else:
# ...
Хотя это выглядит как вам, вероятно, не стоит беспокоиться об этой проверке и структурировать ваш setup_config
, поэтому он принимает имя файла в качестве аргумента, например:
def setup_config(filename):
# use with to open file here
with open(filename) as fin:
# do whatever for config setup
Затем оберните ваш main в try / исключением (которое также будет охватывать файл не существует / не может открыть файл по другим причинам), например:
path = pathlib.Path(sys.argv[0]).resolve()
try:
setup_config(path.with_name('main.conf'))
except IOError:
pass