2

私はPythonコンソールアプリを持っています。ほとんどのPythonコンソールアプリと同様に、OptionParserモジュールを使用して引数を取ります。wxPythonを使用してアプリのGUIを開発しましたが、この2つを統合したいと思います。アプリをコンソールとOSのUIの両方から実行したいのですが。コンソールから呼び出されると、コンソールアプリとして実行され、OSのUIでダブルクリックされると、GUIアプリとして実行されます。どうすればこのようなことができますか?誰かが私に__main__ブロックがどうあるべきかのスニペットを見せてもらえますか?

トンありがとう。

4

2 に答える 2

2

アプリにargsを渡してから、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"

編集: 申し訳ありませんが、読み間違えました。別のWxアプリから始めたいと思いました。「OSUI」からではなく、これを行うための優れたクロスプラットフォームの方法を知りません。問題は、Windowsの.pyファイルは通常python.exeファイルに関連付けられてい.pywますが、コンソールウィンドウがないことです。
したがって、実際には、この動作をサポートするようにOSを変更する必要があります。たとえば、-gui_modeを使用してプログラムを起動するショートカット(windows / gnome / kde内)を作成したり、*nixOSで提案されている@Austinのようなメカニズムを使用したりできます。アプリケーションをインストールしている場合、これらのもののいくつかはdisttoolsによって自動化できます

于 2010-05-13T15:26:16.797 に答える
0

試す:

import os
print os.environ

スクリプトをダブルクリックして実行すると、 os.environ['TERM'] が tkinter ウィンドウに出力されます。

私にとっては、「xterm-color」です。

使用しているオペレーティング システムは何ですか? .py ファイルをダブルクリックしたときに確実に実行されるようにするにはどうすればよいですか?

于 2010-05-13T15:43:51.293 に答える