サブプロセスやプロセスを呼び出すPythonツールに問題があります。私のELFは、Pythonコードと同じフォルダにある私のPCに座っています。 ELFは入力、出力、入力、出力のように動作します:40回のように、私はプログラムの入力にデータを送る必要があります。最初は私はパイプで試しました:python -c 'print "0 0xdeadbeef hello 5"*40'| ./elf
しかし、エルフは狂ったし、私のPCが動作を停止させた。 elfが3つのオプション[0/1/2]からの入力を待つとき、私は0を選択し、elfよりも文字列、別の文字列およびintを要求します。その後、エルフは再びオプションメニューに戻ります。私はを40回実行する必要があります。次に、のために2を送信する必要があります。実際には、python -c 'print "0 0xdeadbeef hello 5"*40 +"2"'| ./elf
が必要ですが、最初のコマンドは機能しませんそれはうまく動作しません。 'シェルリングソリューション'を試した後、私は自分のコードからelfを実行するためにサブプロセスライブラリを使用しようとしましたが、うまく機能せず、通信機能とstdoutへの書き込みを試みましたが、エルフの印刷を表示して、私が送信しているものが入力に向いているかどうかを知ることさえできません。また、誰も私のために働いていないので、私はコール関数を試した。 コード: import subprocess p=subprocess.Popen(['./elf'],stdin=subprocess.PIPE,stdout=subprocess.PIPE) out = p.communicate(input='0') #not responding
もp.stdin.write('0\n')
を試してみましたが、その後、PythonコードからELFを呼び出す
おかげで、あなたのすべてをその標準出力から読み取るませんが、まだ返事!