2009-08-21 18 views
0

Pythonスクリプトと「-v」オプションの引数として入力ファイルが指定されているjavaコードからPythonスクリプトを実行すると、IOExceptionが発生しますPythonスクリプトをJavaコードで実行しているときに問題が発生しました

String pythonScriptPath="\"C:\\Program Files\\bin\\CsvFile.py\""; 
String Filepath="C:\\Documents and Settings\\user\\Desktop\\arbit.csv"; 
String[] cmd = new String[4]; 
cmd[0] = "python"; 
cmd[1] = pythonScriptPath; 
cmd[2] = "-v"; 
cmd[3] = Filepath; 
Runtime rt = Runtime.getRuntime(); 
Process pr = rt.exec(cmd); 

次のエラーです:

CreateProcess: python "C:\Program Files\bin\CsvFile.py" -v "C:\Documents and Settings\user \Desktop\arbit.csv" error=2 
    at java.lang.ProcessImpl.create(Native Method) 
    at java.lang.ProcessImpl.<init>(Unknown Source) 
    at java.lang.ProcessImpl.start(Unknown Source) 
    at java.lang.ProcessBuilder.start(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 

誰かが私はこの例外を解決する方法を知って聞かせていただけます。あなたに感謝

、 ハルシャは

答えて

0

あなたはすべての余分な引用符は必要ありません。

String pythonScriptPath="C:\\Program Files\\bin\\CsvFile.py"; 

これは正常に動作するはずです。

0
  1. あなたのパスにはPythonがありますか?私が最も可能性が高いどのあなたが
  2. あなたはPythonスクリプト引数
2

error=2引用符で囲む必要はありません(もしあれば)ピックアップのWin32 CreateProcess機能を意味しているのpython正確に決定するためのパスとそれを修飾しますエラーコード2、またはERROR_FILE_NOT_FOUNDを返しています。あなたのスクリプトを見つけることができないか、それとも(見つからない可能性が高い)(おそらくIMO)。後者の場合は、Pythonのインストール(おそらくC:\Program Files\Python\bin、確かではありませんが)がシステムパスにあることを確認してください。

コントロールパネルから「システム」を開くことで、システムのパスを変更できます。 Vistaまたは7を使用している場合は、[高度なシステム設定]をクリックします。 XPまたは2000を使用している場合は、[詳細]タブを選択します。 「環境変数」を押し、「システム変数」の下の「パス」または「PATH」を見つけ、Python binディレクトリを文字列の先頭に追加します(セミコロンで区切られています)。

0

あなたの可変ファイルパスは、あなたのプログラムの出力に従って実際に送られたものと一致しません。このエラーは、「ファイルが見つかりません」というエラーの可能性が最も高いユーザープロファイル名の後に余分なスペースを入れて、「C:\ Documents and Settings \ user \ Desktop \ arbit.csv」と表示します。

関連する問題