从不同模块导入时如何在python中应用相对目录?

时间:2014-05-21 05:06:04

标签: python

问题在于:

在包main.A中,有一个模块AM和一个config.ini文件。在AM中,我使用 ./ config.ini 来引用此文件。这只是工作正常。

在包main.B中,还有另一个名为BM的模块,它导入main.A.AM模块。在这段时间内,它会抛出

中无法找到 config.ini

有人能告诉我如何在Main.A中导入这个相对位置的文件吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

__file__魔术变量存储其出现的文件的路径。

如果您在main.A中添加以下行,它将始终指向与main.A位于同一目录中的文件,无论从main.A导入的位置如何:

import os.path as osp 
osp.join(osp.dirname(__file__), 'config.ini')