在python IDLE裏執行py文件

Import

在IDLE下也可以用import來運行文件。如運行test.py文件:improt test

但是對於一個文件,improt只能在第一次導入時運行文件。在第一次導入之後,其他的導入都不會再工作,甚至在另一個窗口中改變並保存了模塊的源代碼文件也不行。實驗了下,發現重啓IDEL後依然不行。這是有意設計的結果。導入是一個開銷很大的操作以至於每個程序不能夠重複多於1次。

Reload

但如果想要python在同一次會話中再次運行文件,需要用內置的reload(重載)函數。

調用格式是:reload(test)

使用reload,輸出中會包含<module 'test' from'C:/Python27/Practice Code/test.pyc'>。

這是因爲Reload是一個函數,而import是一個語句。調用時需要傳遞模塊名稱給reload函數作爲括號中的參數,因此在重載時得到了額外的一行輸出。最後一行輸出是reload調用後的返回值的打印顯示,reload函數的返回值是一個python模塊對象。但對於未經過修改的程序,調用reload函數,也僅僅會得到一行類似上面的返回值的打印顯示。

需要額外說明的是,如果沒有使用import,reload函數會報錯。也就是說reload函數需要在已經使用了import的情況下使用。可以使用Alt-p,Alt-n回滾到上一條命令,另外, IDLE中沒有清屏選項。

execfile

另一個通過交互提示模式運行文件的方法是內置函數execfile(‘test.py’)。默認情況下,每次調用execfile,都會運行一個新文件,但從技術上來說它並沒有導入模塊。

模塊導入是一種運行代碼文件的方法模塊也是python程序最大的程序結構。Python程序往往有多個模塊構成,通過import語句連接在一起。每個模塊文件是一個獨立完備的變量包裝,即一個命名空間。一個模塊文件不能看到其他文件定義的變量名,除非他明確地導入了那個文件,所以模塊文件在代碼文件中起到了最小化命名衝突的作用。

如果發生了鏈接錯誤,試一下通過單個進程的模式啓動IDLE。IDLE要求在其獨立的用戶和GUI進程間通信,有時候會在特定的平臺上發生啓動錯誤。如果遇到了這樣的鏈接錯誤,它常常可以通過系統命令行使IDLE運行在單一的模式下進行啓動,從而避免了通信的問題:-n命令行標誌爲可以強制進入這種模式。如,在Windows撒謊功能,可以運行系統命令 test.py –n.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章