【发布时间】:2020-10-07 05:51:45
【问题描述】:
我有一个文件 (dataset.json),需要从不同的地方访问(tests.py、相对导入和实际使用)。我目前有一个类似这样的文件结构:
project_dir
|
+ - module_1
|
+ - __init__.py
+ - abcd.py
+ - dataset.json
+ - xyz.py
+ - tests
|
+ - tests_abcd.py
我试图解决的问题是能够从abcd.py 读取dataset.json。当我从xyz.py 或tests_abcd.py 导入abcd.py 时,我得到一个FileNotFoundError,因为路径不同。
我已经了解了从 article 读取该文件的不同方法,但这并不一定能解决我的问题。我也研究了这个article。这个SO post 很有帮助,但并没有完全解决问题。
定义文件路径的最佳方法是什么?我不想为每个用例编写 50 种不同的方式来访问此文件,我想了解处理此类问题的最佳方式是什么。
【问题讨论】:
-
在每个文件夹级别创建一个空的 init.py 文件,现在您可以尝试从 project_dir.module_1.dataset.json 导入
-
这行不通,因为运行
python xyz.py会导致 abcd 在project_dir而不是 module_1 中搜索