在由它调用的脚本中获取入口点脚本路径

时间:2015-09-23 11:00:10

标签: python python-2.7

考虑您有一个名为/home/user/pack/test.py

的脚本

在这个脚本中,我们调用一个辅助类,它在其他文件路径中定义(使用import)
让我们说Helper文件路径是: /home/user/pack/abc/helper.py

我想知道是否有办法在Helper脚本中获取原始启动脚本路径/home/user/src/test.py以供某些用法使用。

我尝试使用__file__,但它当然给了我/home/user/pack/abc/helper.py

注意:我不想将启动脚本路径(__ file__)作为参数传递给Helper类。

1 个答案:

答案 0 :(得分:2)

您可以使用标准库中的inspect模块来实现目标:

<强> helper.py

def some_helper():
    print(inspect.stack()[1][1])

<强> test.py

import helper

helper.some_helper()

因此,通过执行test.py,您将"path/to/test.py"函数中的helper.py作为输出。