Функция импорта из другого каталога с файлом конфигурации (yaml), который не найден - PullRequest
0 голосов
/ 06 ноября 2019

Это моя структура папок.

DevServer

--- DevFolder

------- MyProgram.py

------ MyProgram.yaml

--- общий

------- commonlibrary.py

------- commonconfig.yaml

Используя Python 3.7, я столкнулся с проблемой с файлом конфигурации (YAML).

В MyProgram я добавляю путь к общему каталогу и импортирую нужный мне файл python.

import sys
sys.path.append(commonlocation) #From Yaml config file at MyProgram level
from commonlibrary import runme

Вот проблема, он ищет только файл YAML в каталогеMyProgram, а не там, где находится commonlibrary.py.

Я попытался включить путь в commonlibrary.py, и это не работает. Если я жестко закодирую местоположение файла YAML, он будет работать, или если я положу его в тот же каталог, что и MyProgram.

В противном случае я получаю следующее:

FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'commonconfig.yaml'

Как можно избежать жесткого кодирования местоположенияместоположения YAML, так как «общая» папка будет управляться отдельным файлом YAML на уровне MyProgram?

...