我不得不在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中全局更改print的行为吗?
发布于 2008-09-03 12:42:44
print语句通过"sys.stdout.write“执行IO,因此如果您想要操作打印流,可以覆盖sys.stdout。
发布于 2008-09-03 15:21:20
python inspect模块使这一过程变得更简单、更清晰。
https://stackoverflow.com/questions/41562
复制相似问题