gpt4 book ai didi

java - 在Java中执行python编译脚本(.pyc)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:32 24 4
gpt4 key购买 nike

我有一个 python 编译的脚本(script.pyc,我没有 .py 文件),它在我的 Windows 命令提示符下运行良好,我想从我的 Java 应用程序中执行它。我尝试使用 runtime() 方法:

        Runtime runtime = Runtime.getRuntime();
runtime.exec(new String[] {"C:\\toto\\tools\\script.pyc" ,"arg","arg2" });

但是我得到一个错误:

Exception in thread "main" java.io.IOException: Cannot run program "C:\Nuance\VoCon Hybrid\SDK_v4_3\tools\clctodict.pyc": CreateProcess error=193, %1 n?est pas une application Win32 valid

该脚本在我的终端中运行良好(“arg”是一个 txt 文件,“arg2”是输出名称,脚本可以正常工作)。

我还尝试使用 getDesktop() 启动我的脚本:

        File fie = new File("C:\\toto\\tools\\script.pyc" ,"arg","arg2");
Desktop.getDesktop().open(fie);

没有问题,但我无法添加参数,所以我只能看到终端窗口在几秒钟内打开,然后立即消失。我也尝试过使用 JPython,但也没有成功(也许我们不能在 .pyc 上使用方法“execfile”????)

最佳答案

你可以做类似的事情

Process p = Runtime.getRuntime().exec(new String[]{"python.exe" ... other args)

然后可以调用p.waitFor()等待进程结束,调用p.exitValue()测试程序是否成功退出。

您还可以通过 p.getOutputStream() 获取输出流以检索 python 脚本打印的文本

请参阅类文档以获取更多信息:http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html

关于java - 在Java中执行python编译脚本(.pyc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11744253/

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