python调用第三方软件_python代码打开某个软件

python调用第三方软件_python代码打开某个软件java调用python脚本详细过程,以及常见错误处理_java执行python脚本9009

关于JAVA中调用python脚本的两种方式

注意 (一)

两种方式本质上都是调用cmd执行脚本,不同的是第一个是获取的脚本执行的print的结果,第二种方式是直接获取cmd面板上脚本执行后的所有东西,正常情况下没有区别,但是异常情况下,嘿嘿嘿。
推荐使用第一种方式

注意(二)

  • 即便仅仅是调用py脚本,也是需要python的环境,推荐去官网下载环境,并配置好环境。配好环境后用cmd先运行下脚本,如果成功的话,再去写调用步骤,不成功的话,原因可能是环境没配好,或者是第三方库没有下载(python的import的东西)
  • process.waitFor()返回9009的解决方式在下方,方法写好了返回结果是空或者null的解决方案也在下方。

方法

第一种方式:只给了方法体,方法名木得

String result = "";

        try { 
   
        	// 获取进程
            Process process = Runtime.getRuntime().exec("python " + 脚本地址 + " " + 入参);
            // 用流来接收获取结果,这里的字符集可以指定也可以不指定,视情况而定
            InputStreamReader ir = new InputStreamReader(process.getInputStream(), "GBK");
            // 这个我给注释掉了,可以看看这个的返回值,如果出现9009的话,处理方法会放在文章末尾
            // process.waitFor(); 
            LineNumberReader input = new LineNumberReader(ir);
            result = input.readLine();
            input.close();
            ir.close();
            // 把输入的结果转换成json格式返回,RuleMatchVO.class是我自定义的类
            return JSONObject.parseObject(result, RuleMatchVO.class);;
        } catch (Exception e) { 
   
            log.error("调用python脚本并读取结果时出错:" + e.getMessage());
            e.printStackTrace();
        }

第二种方式:只给方法体,方法名木得

String str = null;
        str = RuntimeUtil.execForStr("python " + pythonScriptAddress + " " + key);
        // 把输入的结果转换成json格式返回,RuleMatchVO.class是我自定义的类
        return JSONObject.parseObject(str, RuleMatchVO.class);

9009解决方案

这是w10系统的惊喜= =

  • 管理员启动cmd

  • 输入命令 where python

  • del 系统自带的那个(要切换目录到目标文件路径下删,下图这个是系统自带的,用cmd面板删,直接去的话可能删除不了)在这里插入图片描述

  • 输入命令 where python3

  • del 系统自带的那个(一般而言,python和python3是在同一个目录下)
    在这里插入图片描述

  • 重启idea或者重启了电脑都可。

  • 我重启idea卡死了,所以重启了电脑

今天的文章python调用第三方软件_python代码打开某个软件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84230.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注