我的结构是这样的:
---file1.py
---file2.py
---目录1
---file3.py
---工具
---setting_manager.py
---settings.json
这里的目录 1 和工具是两个目录...在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:
有什么方法可以实现我的需求吗?
我认为您可以将setting.py
文件中的动态路径定义为:
import sys, os
pathname = os.path.join(dir, '/relative/path/to/tools')
然后,您可以在要在其中使用基路径的任何文件中使用此全局变量。
希望这会有所帮助。
谢谢。