如何找到哪个文件是"启动器"Python

Tim*_*ong 5 python python-import filereference

情况:我们知道下面将检查脚本是否已被直接调用.

if __name__ == '__main__':
    print "Called directly"

else:
    print "Imported by other python files"
Run Code Online (Sandbox Code Playgroud)

问题:该else子句只是一个通用子句,只要脚本没有直接调用就会运行.

问题:如果没有直接调用,有没有办法获取导入的文件?

附加信息:下面是我想象代码的示例,只是我不知道要放什么<something>.

if __name__ == '__main__':
    print "Called directly"

elif <something> == "fileA.py":
    print "Called from fileA.py"

elif <something> == "fileB.py":
    print "Called from fileB.py"

else:
    print "Called from other files"
Run Code Online (Sandbox Code Playgroud)

Alo*_*kur 2

尝试这个:-

import sys
print sys.modules['__main__'].__file__
Run Code Online (Sandbox Code Playgroud)

请参阅更好的答案:- How to get filename of the __main__ module in Python?