我的结构是这样的:
--- file1.py
--- file2.py
--- directory1中
---file3.py
---工具
---setting_manager.py
---settings.json
这里的directory1和工具是两个目录...... 在setting_manager.py中,我有一个从settings.json读取一些设置的函数。
with open('settings.json', 'r') as f:
properties = json.load(f)
return properties
在file1 file2 file3中,我像这样导入setting_manager:
from tools import setting_manager
但是当我需要在file1 file2和file3中使用此函数时。它似乎直接python加载功能,无法找到我的' settings.json'。例如,在file1中使用时,我需要设置
with open('tools/settings.json', 'r') as f:
然后它可以工作。但在file3中我需要设置
with open('../tools/settings.json', 'r') as f:
有没有办法启用我的需求?
答案 0 :(得分:2)
我认为您可以将setting.py
文件中的动态路径定义为:
import sys, os
pathname = os.path.join(dir, '/relative/path/to/tools')
然后,您可以在要使用基本路径的任何文件中使用此全局变量。
希望这会有所帮助。
感谢。