我知道其中__file__包含包含代码的文件名,但是有没有办法获取调用该函数的脚本/文件的名称?
如果我有一个名为filenametest_b.py:
def printFilename():
print(__file__)
Run Code Online (Sandbox Code Playgroud)
我将函数导入filenametest_a.py:
from filenametest_b import *
printFilename()
Run Code Online (Sandbox Code Playgroud)
我得到:
C:\Users\a150495>python filenametest_a.py
C:\Users\a150495\filenametest_b.py
Run Code Online (Sandbox Code Playgroud)
我可以在b文件中执行某些操作来打印文件名吗a?
您可以打印sys.argv[0]以获取脚本文件名。
要获取调用者的文件名,您需要使用该sys._getframe()函数来获取调用框架,然后您可以从中检索文件名:
import inspect, sys
print inspect.getsourcefile(sys, sys._getframe(1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |