我有一個Python控制檯應用程序。像大多數Python控制檯應用程序一樣,它使用OptionParser模塊來獲取參數。我現在使用wxPython爲我的應用程序開發了一個GUI,並且我想集成這兩個。我希望我的應用能夠從控制檯和操作系統的用戶界面中運行。當它從控制檯調用時,它將作爲控制檯應用程序運行,當它在操作系統的用戶界面中雙擊時,它將作爲GUI應用程序運行。我怎麼能這樣做?有人能告訴我一個__main__
塊應該是什麼樣的片段嗎?控制檯和GUI模式的應用程序
謝謝了。
我有一個Python控制檯應用程序。像大多數Python控制檯應用程序一樣,它使用OptionParser模塊來獲取參數。我現在使用wxPython爲我的應用程序開發了一個GUI,並且我想集成這兩個。我希望我的應用能夠從控制檯和操作系統的用戶界面中運行。當它從控制檯調用時,它將作爲控制檯應用程序運行,當它在操作系統的用戶界面中雙擊時,它將作爲GUI應用程序運行。我怎麼能這樣做?有人能告訴我一個__main__
塊應該是什麼樣的片段嗎?控制檯和GUI模式的應用程序
謝謝了。
你可以傳遞參數給應用程序,然後使用arg解析器嗎?
if __name__ == "__main__":
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-g","--gui_mode",
dest="guimode",
help="start program in gui mode",
action="store_true")
(options,args) = parser.parse_args()
if (options.guimode):
print "start wx app"
else:
print "start cmd line app"
編輯: 對不起,誤讀,我還以爲你想從另一個蠟質應用程序啓動。而不是從「操作系統UI」 我不知道有一個很好的,跨平臺的方式來做到這一點。問題是,在windows文件通常與python.exe相關聯.pyw
文件相似,但沒有控制檯窗口。
所以你實際上必須修改操作系統來支持這種行爲。例如,您可以創建一個快捷方式(在windows/gnome/kde中),該快捷方式使用--gui_mode啓動程序或使用* nust OS中建議的@Austin機制。 一些這方面的東西可以通過disttools如果你正在安裝一個應用程序
嘗試進行自動化:
import os
print os.environ
並將其輸出os.environ [「TERM」]對Tkinter的窗口,當你執行腳本通過雙擊它。
對我來說,這是'xterm-color'。
您使用的是什麼操作系統?你如何確保雙擊一個.py文件將導致其執行?