2016-07-28 13 views
0

Pythonスクリプトを使用して、Javaプログラムの入力ファイルを操作しようとしています。私がやっているやり方は、私はファイル名を生成して実行するためにsubprocess.call()メソッドに渡しています。ここに私のプログラムは次のとおりです。Python 2.7のサブプロセス呼び出しメソッドがjavaコマンドを実行できない

def execJava(self): 
    self.thisCmd="pause" 
    call(self.javaCmd,shell=True) 
    call(self.pauseCmd,shell=True) 

self.javaCmd = 'java -ea -esa -Xfuture -Xss64m -classpath "C:\FVSDK_9_1_1\lib\x86_64\msc_12.0-sse2_crtdll\*" -Djava.library.path="C:\FVSDK_9_1_1\lib\x86_64\msc_12.0-sse2_crtdll;C:\FVSDK_9_1_1\lib\x86_64\share" com.cognitec.jfrsdk.examples.MatchFIRAgainstGallery C:\FVSDK_9_1_1\etc\frsdk.cfg 0 .\tmp\frsdk-scratch\probe_1.fir .\tmp\test\*' 

はい、それは長い複雑なJava命令だが、私は、コマンドプロンプトでそれを実行すると、それが正常に動作します。私はそれを文字列として渡す場合にのみ、それが実行され、戻りません。

Exception in thread "main" java.lang.Error 

問題へのいくつかの探査の後、私はそれは、命令で\t\xによるものであることを発見したので、

を実行しています

mp est\* 

として

.\tmp\test\* 

実行中には、タブのスペースで\tを置き換えとして。私はかなり上を見て、解決策を見つけることができませんでした。どんな助けも大歓迎です。

答えて

1

パスにバックスラッシュ「\」の代わりにスラッシュ「/」を使用します。

関連する問題