2016-11-27 96 views
1

我與許多modulesimported,如運行大型script.py的Python - 跟蹤模塊執行

from module import * 
當我運行它

,我打印了一些令人失望的結果[u'Brewer and Shipley']在進口時,我無法追溯到其method並停止執行。

有什麼我可以用來追蹤和制止這一點?

+1

在短期內沒有幫助,但將來不要這樣做:'從模塊導入*'。這總是一個壞主意,除了可能在一次性代碼中。要在短期內進行調試,請使用導入編寫新腳本:運行,註釋導入行,再次運行。重複,直到找到罪魁禍首。 – FMc

+0

@FMc,謝謝,指出。 –

+2

您也可以將此代碼添加到腳本的頂部:'import sys; sys.stdout = None'。當導入的代碼嘗試打印時,它會炸燬堆棧跟蹤,您可以檢查。 – FMc

回答

0

,吹入找出誰自爆是@FMc很好的建議, 這裏是另一個伎倆我用

import X print 'X imported' import Y print 'Y imported' import Z print 'Z imported'

這也將幫助你縮小模塊有問題。 :)

您可以通過打印中間點進行二分搜索來優化這一點,但我想這是過度engg。