一、复习java如何调用Python程序

首先,介绍一下java如何调用python程序:

链接:java调用python程序问题汇总:java如何调用python程序;Java调用Python脚本无法得到运行结果;用cmd打开Python;cmd运行Python文件报错_浩栋丶的博客-CSDN博客https://blog.csdn/m0_52625549/article/details/124487305?spm=1001.2014.3001.5502

用Runtime.getRuntime().exec()方法调用python程序并输出该结果,java代码如下:

public class py_text {
 
    public static void main(String[] args) {
        try {
            String[] arg = new String[] { "python", "D:\\college\\Python\\project\\java\\bb.py"};
            proc = Runtime.getRuntime().exec(arg);
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
        } catch (IOException e){
            e.printStackTrace();
        } catch (InterruptedException e){
            e.printStackTrace();
        }
 
    }

二、java调用python程序执行到一半停止的解决办法

Runtime.getRuntime().exec()函数,原理是将字符串arg作为命令,放到cmd中执行。既然这里出问题了,那么我们可以直接将命令在cmd中执行一下,查看哪里有问题。

直接将字符串arg的“python 绝对路径”在cmd中执行。

报错:数据库表news没有找到!

原因:一般情况下我们在cmd中执行python脚本时,需要cd到py文件所在的目录下才可以运行。这是因为我们在编写代码时,调用了一些其他目录下的文件,而在代码中只是写的相对路径。通过pycharm运行时,可以通过相对路径寻找文件,但在cmd无法通过相对路径寻找文件所在的位置,必须用绝对路径。

解决办法:只需要将Python代码中的调取文件的相对路径修改为绝对路径即可。

成功解决! 

更多推荐

java调用python程序问题汇总:java调用python程序执行到一半停止;java无法调用python程序;java Runtime调用python无法