2011-01-10 1 views
1

私はjython2.1を使用しているアプリケーションがあり、外部アプリケーションを実行する必要があります。また、そのプログラムからログなどの入力と出力をキャプチャする必要があります。jython 2.1の入出力を制御する外部コマンドを実行しています

Jython 2.1ではpopen()がサポートされていないようです。

どのように私は、標準のJavaライブラリに依存することから、それを行うアイデア?さまざまなやり方を模索しようとしています。どんな小さな提案も私のために大きな助けになるでしょう!

答えて

1

これを行うJavaのクラスを使用できます。

from java.lang import Runtime 
process = Runtime.getRuntime().exec("ls -l") 
output = process.getInputStream() # process' output is our input 
# read output somehow, while the process is generating it 
+0

私はこの1つを試しました。それは私にとって完璧に機能します。私がNotepad.exeと言っているような事実を除いて、プロセスはメモ帳を開きますが、メモ帳を閉じるまで閉じることはありません。とにかく、正常に実行されたときに子プログラムからコントロールを取得できますか? –

+0

'process.destroy()'が私の仕事です。 – 9000

0

jython 2.1を使用している理由は何ですか?つまり、10年前にリリースされた古代だから、もはやダウンロード/ドキュメントを見つけることさえできません。

ソフトウェア開発では10年が長いです。

最新バージョンはsubprocess moduleをサポートしているようです。これは、サブプロセスを実行して出力をキャプチャする現在のpythonの方法です。

関連する問題