Javaの ".jar"ファイルを出力するための最良の方法を知りたいPython変数。例えば
、のユーザーは、彼らが端末出力を変数に(javaからpythonへ) - ファイルを書くのではなくRAMに出力するための最良のコーディング慣行
java -jar FileProcessor.jar -i "input.txt" -o "output.txt"
でコマンドウィンドウ/端末で実行することができ、複雑なJavaパッケージは、(おそらく、ユーザーが書いていないと理解していないこと)が持っているとしましょうこの方法に類似のpythonでこれを呼び出し、変数に「output.txtと」を取得するためにそこ方法、:
proc = subprocess.Popen(['java', '-jar', 'FileProcessor.jar', '-i', 'sample.txt', '-o'], stdout=subprocess.PIPE)
py_out = proc.stdout.read()
print(py_out)
問題はjavaファイルが-o
後、出力ファイル"output.txt"
を探すことを明らかに。
もちろん、私は他のアイデアを開いていますが、私は私の主なオプションを理解しては、以下のとおりです。
subprocess
call
/Popen
?変数- は、Javaパッケージ
のラッパーを書くログインするために標準出力を使用すると、これを達成するためのより良い方法はありますか?最初の方法は、多くの例が示すように簡単には動作しないように見えます。私は決してそうしていないので、Javaパッケージの周りにラッパーを書くことがどれほど難しいかわかりません。
[一時ファイル](https://docs.python.org/2/library/tempfile.html)を使用しないのはなぜですか? –
@chase答えを受け入れてくれてありがとう、私はウィンドウのケースを追加するためにそれを編集しました。私はあなたが選択したオプションとあなたのプラットフォームが何であるかに興味があります。 –
私は今、実際に一時ファイルの "不正な"方法を行うことにしましたが、このシステムをもう少しテストした後は、 – chase