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

2024-04-19 12:03:56 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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


Tags: 代码py版本src机器stringpytestmain
1条回答
网友
1楼 · 发布于 2024-04-19 12:03:56

命令shell知道如何按文件扩展名运行文件,因此您需要调用cmd.exeWindows shell程序:

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

正如^{}的javadoc所说,运行命令的首选方法是^{},因此您的代码应该是:

^{pr2}$

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

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

相关问题 更多 >