我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.
例如,假设我有三个文件.使用execfile:
script_1.py电话script_2.py.script_2.py打电话script_3.py.我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py?
(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)
我正在尝试获取当前正在运行的Python脚本的名称.
例如,我有一个调用的脚本foo.py,我想在其中执行类似的操作:
print Scriptname
Run Code Online (Sandbox Code Playgroud)
得到:foo.py.
我搜索过,这似乎是一个简单的问题而没有一个简单的答案.
我有a/b/c.py要调用的文件python -m a.b.c.我想获得a.b.c模块级别的值.
USAGE = u'''\
Usage:
python -m %s -h
''' % (what_do_i_put_here,)
Run Code Online (Sandbox Code Playgroud)
因此,当我收到-h选项时,我会显示USAGE而不需要在每个脚本中实际记下实际值.
我真的需要通过inspect才能获得所需的价值吗?
谢谢.
编辑:如上所述,有答案(我已经搜索过),但不是简单的答案.使用inspect,使用traceback或操作__file__,__package__并做一些子串来得到答案.但没有什么比我在模块中有一个类的简单,我可以使用myClass.__module__,我会得到我想要的答案.__name__(不幸的是)使用是无用的,因为它总是如此__main__.
此外,这是在python 2.6中,我不能使用任何其他版本.