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文件将导致其执行?

相关问题