此代码将打印一条消息,后面跟着m1.py
,即通过调用os.path.basename
获得的文件名。相反,我需要log
函数来获取调用方的文件名,在本例中为m2.py
(即生成日志条目'message'
的文件(。如何做到这一点?
m1.py
def log(message):
print(message + ' ' + os.path.basename(__file__))
m2.py
from m1 import log
def func():
log('some message')
func()
使用检查模块:
import inspect
def log(message):
frm = inspect.stack()[1].filename
print('[%s] %s' % (frm, message))