我如何在python中进行monkeypatching?

我不得不在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。


python inspect模块使得这更容易和更清洁。

链接地址: http://www.djcxy.com/p/41773.html

上一篇: How do I do monkeypatching in python?

下一篇: Managing LINQ to SQL .dbml model complexity