2017-02-26 9 views
-1

私はある時点で別の実行可能ファイルを呼び出さなければならないプログラムを作成しています。私はsubprocess.callを使用して私のpythonスクリプト呼び出しをコマンドラインから実行可能としています。問題は、その実行中に、その実行可能ファイルがユーザーに入力を2回促すことです。実行可能ファイルにそのスクリプトを入力してもらいたいのですが、どうすればよいか分かりません。Subprocess.callと入力を求めるプログラム

これはWindows 10で違いがあります。

答えて

0
import os 
os.system("exec_name arguments") 

入力を引数として実行可能ファイルに渡します。

+0

実行可能ファイルの実行中に入力が要求されます。余分な議論は何もしないようです。 – eyeballfrog

+0

"問題は、その実行可能ファイルがユーザーに入力を2回促すということです。実行可能ファイルにそのスクリプトを入力してもらいたいのですが、実行方法がわかりません。私はあなたに事前に入力があったと思っていて、実行可能ファイルの入力は冗長でした。 –

0

後で.communicate()メソッドを使用して通信するサブプロセスを表すインスタンスを作成するには、subprocess.Popen classを使用する必要があります。このような

何かが

proc = subprocess.Popen([executable_name] + args, 
         stdin=subprocess.PIPE, stdout=subprocess.PIPE, 
         stderr=subprocess.PIPE) 
out, err = proc.communicate(input_str) 

subprocess.check_callは、ボンネットの下に似た何かを動作するはずです。

+0

私はそれを試みましたが、文字列ではなくバイト型の入力を探しているというエラーが表示されました。入力をバイト配列に切り替えると、「通信開始後に入力を送信できません」というメッセージが表示されましたが、これはむしろ混乱します。 – eyeballfrog

関連する問題