2011-06-23 20 views
1

執行我是一個學生寫一個Python腳本來實現以下目標:選擇何時在Python

給定一個.py文件(包括從pygame的繪製邏輯),顯示代碼爲正在執行它,以及顯示圖紙的框架。我寫這篇文章是爲了讓教授更容易教授算法,通過能夠同時演示代碼及其結果。

我遇到的主要問題是能夠停止每行代碼,並等待用戶響應繼續。該功能與任何調試器的「步入」非常相似。

我看過的一種方法是使用exec()和eval()函數從提供的源文件執行代碼。在這次調查中,我發現一般意見認爲,exec和eval非常混亂,而且往往不安全(即使我將控制輸入)。使用這種方法,我會順序地通過源代碼,同時尋找可能影響要執行的分支或決策邏輯。

有沒有比這更好的方法?

+2

回收現有的調試器。 'exec'在完整的模塊(或者至少是完整的模塊)上工作,你必須模仿分支,循環,範圍等。 - 你最終會寫一半Python解釋器。 – delnan

+2

你想要一個調試器,看看調試器。看看stdlib的'pdb'是如何實現的。 –

回答