使用打印功能探索abc模块

时间:2015-02-10 14:57:05

标签: python debugging

我们都喜欢用print函数调试python代码,不是吗?我的问题是:如何从python stdlib调试abc模块?尝试使用print函数(或sys.stdout文件,无论如何),最终会出现像

这样的错误
TypeError: writeobject with NULL file

原因有点明显:此时尚未启动标准流。那么如何探测这段代码呢? 最重要的是,这里声明的类不是由内置的python3函数__build_class__构建的:检查this code,它适用于“常规”类,不适用于abc。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。 abc模块实际上有点特殊:它涉及python引导序列,所以在代码开始时你已经完全构建并加载了模块对象。要修改abc,只需使用imp.reload在运行时重建模块。