我不得不在 python 中进行一些自省,但它并不漂亮:
name = sys._getframe(1).f_code
name = "%s:%d %s()" %(os.path.split(name.co_filename)[1],name.co_firstlineno,name.co_name)
得到类似的东西
foo.py:22 bar() blah blah
在我们的调试输出中。
理想情况下,我希望在 stderr 中添加此类信息——是否可以在 python 中全局更改打印行为?