从已安装的包中获取执行文件的路径?

时间:2009-12-14 15:03:34

标签: python

如果使用setuptools安装python包,然后从标准python脚本执行该包中的方法,是否可以获取调用/执行文件的文件路径?

例如,我正在执行的文件是/usr/foo/bar.py,如下所示:

import baz
baz.get_current_path()
# should print /usr/foo/bar.py

并且使用setuptools安装了包baz,它位于那个神奇的地方,所有python软件包都安装好了。

__file__import inspect; inspect.currentframe().f_code.co_filename都会返回包文件的路径。

这可能吗?

1 个答案:

答案 0 :(得分:1)

使用inspect.getouterframes()inspect.stack(),然后从调用框架中获取文件名。