Управление файлами ресурсов Python - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу знать хороший метод для доступа к файлам ресурсов в Python. Прямо сейчас я использую pkgutil.get_data (...), который прекрасно работает после установки пакета, но не в моей среде разработки, потому что у меня есть каталоги 'src' и 'resources' в качестве братьев и сестер. Я также храню test_resources в другом каталоге, и хотел бы, чтобы тесты могли найти test_resources. Есть ли способ расширить путь поиска для pkgutil? Пример моей файловой структуры ниже:

├── resources
│   └── download
│       └── file
│           └── type
│               └── config.yaml
├── src
│   └── download
│       ├── __init__.py
│       ├── file
│       │   ├── __init__.py
│       │   ├── type
│       │   │   ├── __init__.py
│       │   │   └── code.py
├── test
│   ├── test_x.py
│   ├── test_y.py
│   └── test_z.py
└── test_resources
    ├── test_resources1.yaml
    └── test_resources2.yaml

1 Ответ

0 голосов
/ 30 апреля 2019

Попробуйте передать эти пути вашим вызовам pkgutil.

ResrcConfigPath = os.path.expanduser('~path/to/resources/download/file/type/config.yaml')

TestResourcesDir = os.path.expanduser('~path/to/test_resources/')
testResource1Path = os.path.join(TestResourcesDir, "test_resources1.yaml")
testResource2Path = os.path.join(TestResourcesDir, "test_resources2.yaml")
...