2012-01-09 6 views
0

別のCLIを開き、そこで実行するPythonスクリプトが必要です。例えば。異なるコマンドラインインターフェイス(CLI)内のPythonプログラムを開く?

python C:\Python27\Scripts\script.py test 
python /path/to/script_folder/script.py test 

私はUnixとWindowsの両方をサポートする必要があります。

提案がありますか?あなたがあなたのスクリプトでインタラクティブなコンソールを実行して探している場合

+2

私はあなたの質問を理解していません。 –

+0

両方のコマンドが完全に動作するはずです。あなたはどんな問題を抱えていますか? –

答えて

2

、その後、私はこのようなものを使用したい:

import code 
console = code.InteractiveConsole() 
console.interact() 

あなたはcode module documentationでより多くの情報を見つけることができます。特に、runcoderunsourceメソッドに興味があるかもしれません。私が正しくあなたの質問を理解していれば

$ python -i <path_to_script> 
0

は、あなたがしたい:あなたがPythonシェルでのスクリプトの実行後にスクリプトを実行し、継続を探しているなら

、その後、私はこのようなものを使用したいです:

  1. 打ち上げPythonスクリプト
  2. このスクリプト自体は、この新しいターミナルでは、他のPythonスクリプトの寿を新しいターミナルウィンドウ
  3. を起動する必要がありますldを実行する

ポイント3がターミナルウィンドウを開いたままにする必要があるかどうかによって、解決方法が大きく異なる場合があります。

ウィンドウを開く必要がない場合は、os.systemまたはsubprocessに行ってください。 Pythonスクリプトのみを実行している場合は、実行可能ファイルとして「python」を指定するだけで、クロスプラットフォームとなる可能性があります。

ウィンドウを開く必要がある場合は、特定のシェル+ターミナルを起動する必要があります。これはOS固有のものです(Windowsではcmd.exe、UNIXの場合は/ bin/sh、/ bin/bash他のものはおそらくxtermで囲まれています)。

まったく別の端末セッションを開く必要がある場合を除いて、2番目のモジュールをインポートして最初から実行するか、メモリ内で読み込んでexec 。そこ

command = r'start cmd.exe python "' + <script> + r'" [args]' 
os.system(command) 

キーワード:多くの審議の後、この質問などを読んで、私は解決策を見つけた

0

、私の瞬間「男は私ダムだ」と、最後に、これはトリックを行います持っていました「開始」です。基本的には、実行するファイルが実際の呼び出し元と関係がないことをWindowsに伝える魔法です.Violaでは、新しいコンソールがあります。

私はUnixについてはわかりませんが、gnome-terminalを何とか使って似ていると思います。

関連する問題