2014-02-27 36 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