2

J'ai une application console python. Comme la plupart des applications de console python, il utilise le module OptionParser pour prendre des arguments. J'ai maintenant développé une interface graphique pour mon application en utilisant wxPython et j'aimerais intégrer les deux. J'aimerais que mon application soit exécutée à la fois depuis la console et depuis l'interface utilisateur du système d'exploitation. Lorsqu'il est appelé depuis la console, il fonctionne comme une application de console et lorsqu'il est double-cliqué dans l'interface utilisateur du système d'exploitation, il fonctionne comme une application graphique. Comment pourrais-je faire quelque chose comme ça? Est-ce que quelqu'un pourrait me montrer un extrait de ce que devrait être le bloc __main__?Application avec les modes console et gui

Merci beaucoup.

Répondre

2

pouvez-vous passer des arguments à l'application, puis utiliser l'analyseur 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" 

Edit: Désolé, mal lu, je croyais que tu voulais commencer d'une autre Wx App. plutôt que de l'OS "OS" Je ne connais pas une grande, multi-plate-forme pour ce faire. Le problème est que dans les fichiers Windows .py sont généralement associés avec les fichiers python.exe .pyw sont similaires, mais n'ont pas de fenêtre de console.
Vous devrez donc modifier le système d'exploitation pour prendre en charge ce comportement. Par exemple vous pouvez créer un raccourci (dans windows/gnome/kde) qui lance le programme avec --gui_mode ou utiliser un mécanisme comme @Austin suggéré dans un OS * nix. Certains de ce genre de choses peuvent être automatisées par disttools si vous installez une application

0

Essayez:

import os 
print os.environ 

et avez os.environ sortie [ « TERM »] à une fenêtre de tkinter lorsque vous exécutez le script en double-cliquant dessus.

Pour moi, c'est 'xterm-color'.

Quel système d'exploitation utilisez-vous? Comment vous assurez-vous qu'un double-clic sur un fichier .py entraînera son exécution?

Questions connexes