2015-09-16 55 views
0

我有一個寫在一個Python文件中的函數。他們在基於文件的數據集上執行一系列步驟。 我的工作流程:執行函數體忽略某些沒有註釋的行(Python)?

  • 當我完成對函數體的一部分編碼後,我運行該函數以查看它是如何進行的。
  • 它可能會在某個時候破裂。
  • 我修復了代碼並重新運行了該函數。

問題是,當我重新運行該函數時,它將執行已成功完成的行。然而,我希望能夠不從一開始就從一個任意點開始。這是因爲整個功能運行幾分鐘,等待它完成將是浪費時間。

我可以實現「檢查」以查看是否需要此操作(例如,如果它已經存在,請不要創建文件),但這意味着要添加大量新的驗證代碼(例如,確保現有文件確實包含所需的內容);實際上,我的函數將以已知格式的數據集運行,並且應該執行整個函數。

最明顯的解決方案是將已成功執行的部件註釋掉,但這是一種喧囂,隨着我向前移動並且功能變大,我厭倦了註釋和取消註釋部分。

在執行時是否有更好的方法比註釋掉忽略函數正文的某些部分的行?

我在Wing IDE上,如果這與IDE本身的調試技巧有關。

+0

如何運行一個不包含代碼的函數?它不再是同樣的功能。如果你以後的代碼行不需要早期的代碼,那就考慮把你的大函數分成更小的代碼。 – Psytho

+0

也許[pydb](http://bashdb.sourceforge.net/pydb/)會幫助 – dkol

+0

@ Alex.S,你說得對,這只是一系列的操作,但是需要前面幾行完成的工作結果。將一個函數分解成更小的函數是一個好主意,但是如果代碼會在其中任何一箇中斷,我仍然需要進入這個更小的函數並註釋掉成功完成的行。 –

回答

1

Wing可以通過右鍵單擊彈出式菜單將程序計數器移動到函數中的不同行,但每次運行該函數時都需要執行此操作。我認爲更好的方法是將函數重構爲更小的函數 - 然後您可以註釋掉或僅調用函數調用。你也可以編寫測試來調用某些功能,而不是其他功能。