从其内部获取Python模块目录

2021-06-13 12:46:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python模块,我想从内部获取模块目录。我想这样做,因为我有一些文件,我想参考相对的模块。你知道吗

3条回答
网友
1楼 ·

当您在模块内时,您需要的是:

import os
path_to_this_module = os.path.dirname(__file__)

但是,如果所讨论的模块实际上是您的程序入口点,那么__file__将只是文件名,您需要展开路径:

import os
path_to_this_module = os.path.dirname(os.path.abspath(__file__))
网友
2楼 ·

我想这就是你想要的:

import <module>
import os
print os.path.dirname(<module>.__file__)
网友
3楼 ·

首先,您需要获得对模块本身的引用。你知道吗

mod = sys.__modules__[__name__]

然后可以使用__file__来访问模块文件。你知道吗

mod.__file__

它的目录就是它的dirname。你知道吗

相关问题