从系统中的某个地方调用脚本时如何导入配置文件?



假设我有一个文件夹"myProject",其中包含脚本"mySkript.py"和配置文件"myConfig.py"。

从"myProject"中调用脚本时,我会做这样的事情:

with open("myConfig") as configurationRawData:
# do something

现在让我们假设我不是从"myProject"文件夹调用脚本,而是从"用户/桌面"调用脚本。在这种情况下,open 命令实际上不会找到"myConfig"。 我希望让我的 skript 使用它自己的路径作为根路径,并将此属性继承到它在执行期间可能调用的所有其他脚本。 有什么想法吗?

有一种方法可以做到这一点:

import os
config_file = os.path.join(os.path.dirname(__file__),"myConfig.py")
with open(config_file) as configurationRawData:
# do something

__file__是一个内部 python 变量,表示当前文件的路径(C:UsersuserdocumentsscriptsmySkript.py类似于每个示例的 Windows 的路径(。它导致文件本身,它不依赖于工作目录。

os.path.dirname(__file__)为您提供当前文件的目录(上面的例子C:Usersuserdocumentsscripts(。

os.path.join()构建一个像您的操作系统喜欢的路径,因此它将为上面的示例生成C:UsersuserdocumentsscriptsmyConfig.py

无论您的操作系统是什么(python 为您处理它(,只要您的两个文件位于同一目录中,这都可以工作。

相关内容

  • 没有找到相关文章

最新更新