2014-02-27 37 views

回答

1

不像一个例外,这是与几个流量控制机制有关,警告仅仅是输出到控制台文本 - 更确切地说,在stderr

一种可能的方式来打破警告因此将是拦截来电stderr

class MyStderr(object): 
    def __init__(self, original_stderr): 
     self.original_stderr= original_stderr 
    def my_break(self): 
     import pdb; pdb.set_trace() 
    def write(self,*args, **kwargs): 
     self.my_break() 
     #... 
    def writelines(self,*args, **kwargs): 
     self.my_break() 
     #... 
    #... 
import sys 
sys.stderr= MyStderr(sys.stderr) 

这应该启动互动pdb调试器。

+0

对不起,如果这有点明显,但我的代码会去哪里? – evan54

+0

@ evan54你可以把它放在文件的开头 – goncalopp