2012-04-11 33 views
5

我有一個腳本,可以將Google地球.kml/.kmz文件轉換爲帶有用Tkinter編寫的簡單GUI界面的shapefile文件。爲什麼我的程序使用.py擴展名而不使用.pyw擴展名?

我的問題是,它可以正常使用.py擴展名,但是當以.pyw擴展名保存時,它會在閱讀我的.kml文件時停頓。

沒有錯誤消息,它不會崩潰。 GUI啓動OK等,但它只是停止,並始終在大約相同的地方。我使用Python 2.5,並且與Python 2.7有相同的結果。

任何想法可能導致這種情況?

回答

8

.pyw文件的運行方式與.py文件不同 - 它們與不同的解釋器pythonw.exe而不是python.exe相關聯,該文件沒有與其關聯的控制檯。

根據一些消息來源,包括this old mailing list thread某些操作沒有一個控制檯不工作。

沒有看到確切的腳本,我們無法確切地知道是否導致pythonw的問題。

+0

謝謝!今天早上我燒了幾個小時試圖找到工作,但我從來沒有想到它。我懷疑是使用readline()與pythonw.exe – Nick 2012-04-12 13:49:16

+0

@Nick這是一個問題它幾乎肯定不是'readline'。你是否使用過任何系統調用,'Popen',類似的東西?如果你發佈你的代碼,我很樂意看看。 – agf 2012-04-12 14:40:54

+2

過去我遇到過這樣的問題 - 它通常是一個輸出管道,因爲沒有人可以讀取它。一些應用程序確實期望有一個控制檯在那裏。如果他們不斷地將數據發送到標準輸出或標準錯誤,那麼管道最終會填滿(因爲沒有任何數據正在消耗),並且進程塊等待管道中可用空間。 – AnotherParker 2015-12-26 14:27:14

相關問題