[英]Problem while running python script in java code
當我從下面的Java代碼運行python腳本時,將輸入文件作為python腳本的參數以及“ -v”選項的形式給出,我得到IOException
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)
有人可以讓我知道如何解決此異常。
謝謝你,哈莎
error=2
表示Win32 CreateProcess
函數返回錯誤代碼2,或ERROR_FILE_NOT_FOUND
。 它要么找不到您的腳本,要么(更可能是IMO)找不到python.exe
。 如果是后者,請確保您的系統路徑中包含您的Python安裝(可能是C:\\Program Files\\Python\\bin
,盡管我不確定)。
您可以通過進入控制面板並打開“系統”來更改系統路徑。 如果您使用的是Vista或7,請點擊“高級系統設置”; 如果您使用的是XP或2000,請選擇“高級”標簽。 點擊“環境變量”,在“系統變量”下找到“路徑”或“ PATH”,然后將Python bin
目錄添加到字符串的開頭(以分號分隔)。
您不需要所有多余的引號。
String pythonScriptPath="C:\\Program Files\\bin\\CsvFile.py";
這應該工作正常。
根據程序輸出,變量Filepath與您實際發送的變量不匹配。 該錯誤將其列為“ C:\\ Documents and Settings \\ user \\ Desktop \\ arbit.csv”,並在用戶配置文件名稱后帶有多余的空格,這很可能是“找不到文件”錯誤的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.