2009-10-14 10 views
15

私は対話型CLIアプリケーションをPython呼び出しから制御することに興味があります。対話型コマンドラインアプリケーションをPythonスクリプトでラップする

私は最も基本的なレベルで、私はホストOS上でCLIアプリケーションを起動するpythonスクリプトが必要だと思います。 stdinからcliアプリケーションに何かをパイプし、cliアプリケーションの出力をstdoutにパイプします。

このベースから私はおそらくちょうどtecniqueが呼ばれているものにポインタを必要と正直に言うと、入力と出力

に何らかの処理を行うことは非常に簡単でなければなりません。私は何を探している必要があるか分かりません。

答えて

5

PExpectはニーズに合っていますか?

11

多分あなたはSubprocessMOTW)から何かをしたいですか?

私は貝に出呼び出しを行うために、このようなコードを使用:

from subprocess import Popen, PIPE 

## shell out, prompt 
def shell(args, input=''): 
    ''' uses subprocess pipes to call out to the shell. 

    args: args to the command 
    input: stdin 

    returns stdout, stderr 
    ''' 
    p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) 
    stdout, stderr = p.communicate(input=input) 
    return stdout, stderr 
+0

+1 'subprocess'ライブラリはPythonの標準ライブラリの一部であり、仕事を取得しますので、。 –

+0

それだけではありませんが、Popenではargsとして引数リストを使用できます! – edomaur

関連する問題