有没有办法找出哪个文件正在调用一个函数? (类似os.path.basename(__file__)
)如何在Python中获取模块的名称,调用特定的函数。
程序结构:
module
包含了相关功能
别的地方的程序:
import modulex as mx
mx.function(arg1,arg2)
我需要一个通用的函数来告诉我'程序中的其他地方'是什么文件。
有没有办法找出哪个文件正在调用一个函数? (类似os.path.basename(__file__)
)如何在Python中获取模块的名称,调用特定的函数。
程序结构:
module
包含了相关功能别的地方的程序:
import modulex as mx
mx.function(arg1,arg2)
我需要一个通用的函数来告诉我'程序中的其他地方'是什么文件。
您可以尝试追踪模块:
import traceback
currentStack=traceback.extract_stack()
currentStack变量将举行从那里当前文件名列表代码被调用。
如果您的行为取决于调用该函数的文件,那么您可能应该向该函数传递一个额外的参数,表示它?
在python中,显式解决方案被认为是最好的 - 具有取决于调用者的行为并不明确。
如果你真的有很好的理由需要这个,你可能想看看进入traceback
module