如何在Python中进行猴子补丁?
我在使用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
在我们的调试输出中。
我希望能在错误输出的前面加上这些信息—— 有没有办法在Python中全局改变打印的行为呢?
2 个回答
1
Python的inspect模块让这个过程变得简单又干净。
3
打印语句实际上是通过“sys.stdout.write”来进行输入输出的。如果你想要改变打印的方式,可以重写(覆盖)sys.stdout。