Я создал файл setup.py для моего проекта на python, включающий в себя несколько файлов .json
во время упаковки моего .egg
.Когда я запускаю команду python setup.py install
, я вижу в выводе, а также проверяю сам .egg
, что .json
были включены в упаковку.
Вот мой setup.py
setup(name='exmaple',
version='0.0.1',
author='nc',
description='TBD',
long_description=open('README.md').read(),
packages=find_packages(exclude=['tests', 'examples']),
data_files=[('json-configs', glob('json-configs/*.json'))],
python_requires='~=3.0',
install_requires=[
'importlib_resources==1.0.2'
]
)
Проблема, с которой я сталкиваюсь, заключается в том, как правильно получить доступ к этим файлам во время выполнения моего приложения на python.Файлы .json
- это конфигурации, которые необходимо прочитать во время выполнения, если выполняется соответствующий класс.Я много читал о package_data
, и это, кажется, предпочтительный подход, но я бы предпочел не иметь файл __init__.py
в моей папке json-configs
по причинам, выходящим за рамки этого вопроса.
Есть ли лучшая практика для чтения в data_files
во время исполнения?Разве это не вариант использования для data_files
, и я должен действительно использовать package_data
с importlib
для чтения в файлах ресурсов?Существуют ли другие лучшие альтернативы чтению в файлах ресурсов, к которым нужно обращаться во время выполнения программы на Python?