2009-11-06 48 views
46

有沒有任何方法可以在Windows XP中運行Python腳本而沒有立即出現命令shell?我經常需要使用Python自動化WordPerfect(用於工作),並且即使我的腳本沒有輸出,如果我從沒有WP的情況下執行它,空的shell仍會在消失之前彈出一秒。有什麼辦法可以防止這種情況發生?某種輸出重定向也許?運行沒有Windows控制檯出現的Python腳本

回答

77

pythonw.exe將在沒有命令提示符的情況下運行該腳本。問題在於,Python解釋器Python.exe與控制檯子系統鏈接以產生控制檯輸出(因爲這是90%的情況) - pythonw.exe被鏈接到GUI子系統,而Windows不會創建控制檯輸出窗口,除非它要求輸入窗口。

This article討論了用Python進行GUI編程,也提到了pythonw.exe。它還有助於指出,如果您的Python文件以.pyw而不是.py結尾,則標準Windows安裝程序將正確設置關聯並在pythonw.exe中運行您的Python。

在你的情況下,它聽起來不像一個問題,但在pythonw.exe依賴使得你的應用程序Windows專用 - 其他解決方案存在對實現這一目標,比如說,Mac OS X的

+0

有沒有一種方法可以在Python腳本天氣裏指定使用'python.exe'或'pythonw.exe'?例如,'def prog_a():run_as_pythonw()等於blah'與'def prog_b():run_as_python()等等等等。切換到靜音模式,如果您願意。 – p014k 2015-12-02 21:24:38

+1

它不工作就像你解釋使用pythonw.exe .pyw。你能否更新答案?其2016年 – YumYumYum 2016-02-22 17:48:17

17

如果您用「.pyw」擴展名命名你的文件,然後windows會用pythonw.exe解釋器執行它們。這不會打開運行腳本的dos控制檯。

相關問題