1
我與許多modules
是imported
,如運行大型script.py
:的Python - 跟蹤模塊執行
from module import *
當我運行它
,我打印了一些令人失望的結果[u'Brewer and Shipley']
,在進口時,我無法追溯到其method
並停止執行。
有什麼我可以用來追蹤和制止這一點?
我與許多modules
是imported
,如運行大型script.py
:的Python - 跟蹤模塊執行
from module import *
當我運行它
,我打印了一些令人失望的結果[u'Brewer and Shipley']
,在進口時,我無法追溯到其method
並停止執行。
有什麼我可以用來追蹤和制止這一點?
,吹入找出誰自爆是@FMc很好的建議, 這裏是另一個伎倆我用
import X print 'X imported' import Y print 'Y imported' import Z print 'Z imported'
這也將幫助你縮小模塊有問題。 :)
您可以通過打印中間點進行二分搜索來優化這一點,但我想這是過度engg。
在短期內沒有幫助,但將來不要這樣做:'從模塊導入*'。這總是一個壞主意,除了可能在一次性代碼中。要在短期內進行調試,請使用導入編寫新腳本:運行,註釋導入行,再次運行。重複,直到找到罪魁禍首。 – FMc
@FMc,謝謝,指出。 –
您也可以將此代碼添加到腳本的頂部:'import sys; sys.stdout = None'。當導入的代碼嘗試打印時,它會炸燬堆棧跟蹤,您可以檢查。 – FMc