考虑您有一个名为/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类。
答案 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
作为输出。