gpt4 book ai didi

java - 通过 java-%1 在 cmd 中运行 python 文件不是有效的 Win32 应用程序

转载 作者:行者123 更新时间:2023-12-02 09:54:02 39 4
gpt4 key购买 nike

我正在尝试使用 java 执行 python 代码。我的代码:

public class PyTest {
public static void main(String[] args) {
Runtime.getRuntime().exec("python src\\gui.py");
}
}

堆栈跟踪:线程“main”中出现异常 java.io.IOException:无法运行程序“src\gui.py”:CreateProcess error=193,%1 不是有效的 Win32 应用程序

我知道,在 64 位机器上使用 32 位版本解释器执行 python 代码时会出现此错误。然而,在我的 64 位机器上只安装了 64 位版本的 python。

最佳答案

它是命令 shell 知道如何通过文件扩展名运行文件,因此您需要调用 cmd.exe Windows shell 程序:

Runtime.getRuntime().exec("cmd.exe /c python src\\gui.py");

作为exec的javadoc说,运行命令的首选方式是 ProcessBuilder ,所以你的代码应该是:

new ProcessBuilder("cmd.exe", "/c", "python", "src\\gui.py").start();

您甚至可以使用以下命令更改工作目录:

new ProcessBuilder("cmd.exe", "/c", "python", "gui.py")
.directory(new File("src"))
.start();

关于java - 通过 java-%1 在 cmd 中运行 python 文件不是有效的 Win32 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56134670/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com