Python 获取由其调用的脚本中的入口点脚本路径

Python 获取由其调用的脚本中的入口点脚本路径,python,python-2.7,Python,Python 2.7,假设您有一个名为/home/user/pack/test.py的脚本 在此脚本中,我们调用在其他文件路径(使用导入)中定义的某个帮助器类 假设辅助文件路径为: /home/user/pack/abc/helper.py 我想知道是否有一种方法可以在Helper脚本中获取原始启动脚本路径/home/user/src/test.py,以供使用 我试着使用\uuuu文件,但它当然给了我/home/user/pack/abc/helper.py 注意:我不想将启动脚本路径(\uuuu file\uuuu

假设您有一个名为
/home/user/pack/test.py的脚本

在此脚本中,我们调用在其他文件路径(使用导入)中定义的某个帮助器类
假设辅助文件路径为:
/home/user/pack/abc/helper.py

我想知道是否有一种方法可以在Helper脚本中获取原始启动脚本路径
/home/user/src/test.py
,以供使用

我试着使用
\uuuu文件
,但它当然给了我
/home/user/pack/abc/helper.py

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

您可以使用标准库中的模块来实现您的目标,方法如下:

helper.py

test.py


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

您想知道类导入到的文件的位置吗?为什么?Helper类是一个安装类,可以从许多脚本中调用,如果指定的文件启动了它,我想做一些特殊的事情你说的“特殊的东西”是什么意思?老实说,这听起来是个坏主意-为什么不需要一个显式的标志来控制行为(这将更容易实现并使测试更容易)?我能想到的唯一方法是向操作系统请求用于调用python iTerpler的命令。正如我所说,没有更多的信息,就不可能提出任何明智的建议。
def some_helper():
    print(inspect.stack()[1][1])
import helper

helper.some_helper()