在导入的 Python 文件中使用函数时获取相关路径



我的结构是这样的:

---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')

然后,您可以在要在其中使用基路径的任何文件中使用此全局变量。

希望这会有所帮助。

谢谢。

相关内容

  • 没有找到相关文章

最新更新