2016-09-17 24 views
0

実行中のプロセス/プログラムをPythonでスクリプトで制御したいと思っています。 私はプログラム `linphonec 'を持っています(あなたはapt-get install linphonecをインストールできます)。 私の仕事は、次のとおりです。Pythonで対話型コンソールアプリケーションを自動化するには?

  1. 実行linphonec(私は現時点では、サブプロセスを使用しています)
  2. linphonecが、それはこれを制御するために多くのコマンドを持っていると私は例えばproxy listlinphonecでコマンド)を使用したい実行されている場合。

シンプルな流れ:

[email protected]$ > linphonec 
linphonec > proxy list 

私はこれをどのように行うことができますか? 、(あなたがprint STDIN用keywrod-argsを経由して、コンストラクタでsubprocess.PIPE

使用subprocess.Popenをlinphonecするpropably stdoutとstderr

はすべてを渡すためにmyprogram.py | linphonecを使用してプログラムを実行します。

+0

pexpectモジュールを探してください – Hackaholic

+0

try man linphonecまたはlinphonec --help – Juggernaut

+0

ありがとうHackaholic。 – t0mq

答えて

0

は、実際に通信する2つの方法がありますあまりにも)、その後communicate単一のコマンドまたはファイルなど)stdinstdoutstderrを使用

import subprocess 
p=subprocess.Popen("linphonec", 
    stdin=subprocess.PIPE, 
    stdout=subprocess.PIPE, 
    stderr=subprocess.PIPE, 
    universal_newlines=True) #this is for text communication 
p.stdin.write("proxy list\n") 
result_first_line=p.stdout.readline() 
+0

ありがとう!最初の通知とpexpectモジュールをテストしました。 – t0mq

関連する問題