簡體   English   中英

使用runtime.getruntime.exec從Java調用python腳本

[英]Calling python script from Java using runtime.getruntime.exec

我有一個java web開發項目,想要調用python腳本在后台運行然后繼續使用java。

String command = "cmd.exe /c cd "C:\\path\\to\\py\\" && python script.py";
Process p = Runtime.getRuntime().exec(command);

當我調用它時似乎沒有發生任何事情,但我需要首先更改目錄,因為腳本訪問其目錄中的文件。

謝謝你的幫助

編輯:

正確的答案是添加開始,這是我編輯的代碼

String command = "cmd.exe /c cd "C:\\path\\to\\py\\" && start python script.py";
Process p = Runtime.getRuntime().exec(command);

您可以從Java端設置進程的工作目錄,而不是使用cmd來更改目錄。 例如

ProcessBuilder pb = new ProcessBuilder("python", "script.py");
pb.directory(new File("C:\\path\\to\\py"));
Process p = pb.start();

您是否將環境配置為支持“可執行”python腳本?
如果沒有,你應該這樣稱呼它:

String command = "cmd.exe /c start python path\to\script\script.py";
Process p = Runtime.getRuntime().exec(command);

start命令使用其提供的參數(在本例中為腳本本身)運行相應的可執行文件(在本例中為python解釋器)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM