2

我有一個Python控制檯應用程序。像大多數Python控制檯應用程序一樣,它使用OptionParser模塊來獲取參數。我現在使用wxPython爲我的應用程序開發了一個GUI,並且我想集成這兩個。我希望我的應用能夠從控制檯和操作系統的用戶界面中運行。當它從控制檯調用時,它將作爲控制檯應用程序運行,當它在操作系統的用戶界面中雙擊時,它將作爲GUI應用程序運行。我怎麼能這樣做?有人能告訴我一個__main__塊應該是什麼樣的片段嗎?控制檯和GUI模式的應用程序

謝謝了。

回答

2

你可以傳遞參數給應用程序,然後使用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如果你正在安裝一個應用程序

0

嘗試進行自動化:

import os 
print os.environ 

並將其輸出os.environ [「TERM」]對Tkinter的窗口,當你執行腳本通過雙擊它。

對我來說,這是'xterm-color'。

您使用的是什麼操作系統?你如何確保雙擊一個.py文件將導致其執行?

相關問題