如何在Python中进行monkeypatching?
-
09-06-2019 - |
题
我不得不在 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中改变全球印刷的行为?
解决方案
打印语句通过“sys.stdout.write”执行其 IO,因此如果您想操作打印流,可以覆盖 sys.stdout。
其他提示
蟒蛇 检查 模块使这变得更加容易和干净。
不隶属于 StackOverflow