2012-06-25 46 views
9

我啓動了一個帶有許多嵌套循環的python程序,程序將需要幾天時間。我剛剛意識到,其中一個循環值是錯誤的,並造成無限循環。修改正在運行的python程序

我不想從零開始重新編程,有沒有辦法中斷當前的程序並修改循環範圍,這樣它就可以正常工作,並且如果它被無限循環困住,它也會被破壞嗎?

非常感謝您的幫助。

+2

查看[這裏](http://wiki.python.org/moin/DebuggingWithGdb)獲取一些提示。 – georg

回答

1

如果程序不時地保存其狀態或結果,可以添加一個跳過已經執行的步驟的邏輯。

否則,我沒有看到改變這種情況的方法。

0

我猜這篇文章很漂亮,但現在剛剛碰到。如果你仍然想嘗試,你可以做到以下幾點:

使你的腳本在運行PDB爲: 蟒蛇-m PDB

這將運行在PDB。輸入pdb後,只需輸入命令'c'(繼續)。這將開始你的程序。

當您遇到無限循環時,只需執行ctrl + c這將停止調試器中的程序。 現在你可以運行你想要的任何python語句。 可能你也可以定義一個新的腳本導入它並運行該腳本或退出的函數。

我知道總是在調試器下運行並不是一個好主意,但至少上面的內容可以解決你想要的結果。