如何在Python中进行猴子补丁?

9 投票
2 回答
568 浏览
提问于 2025-04-11 09:16

我在使用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。

撰写回答