我正在尝试获取当前正在运行的Python脚本的名称。
我有一个名为foo.py的脚本,我想这样做,以便获得脚本名称:
print(Scriptname)
我正在尝试获取当前正在运行的Python脚本的名称。
我有一个名为foo.py的脚本,我想这样做,以便获得脚本名称:
print(Scriptname)
当前回答
如果你在基类中获取脚本路径,使用此代码,子类将正确获取脚本路径。
sys.modules[self.__module__].__file__
其他回答
如果你正在做一个不寻常的导入(例如,它是一个选项文件),尝试:
import inspect
print (inspect.getfile(inspect.currentframe()))
注意,这将返回文件的绝对路径。
试试这个:
print __file__
注意__file__将给出该代码所在的文件,该文件可以导入,并且与正在解释的主文件不同。要获取主文件,可以使用特殊的__main__模块:
import __main__ as main
print(main.__file__)
注意__main__。__file__在Python 2.7中有效,但在3.2中无效,因此使用上面的import-as语法使其可移植。
由于OP要求当前脚本文件的名称,我更喜欢
import os
os.path.split(sys.argv[0])[1]
import sys
print(sys.argv[0])
这将为python打印foo.py,为python打印dir/foo.py,等等。它是python的第一个参数。(注意py2exe之后是foo.exe。)