gpt4 book ai didi

java - 从 JAVA MySQLdb 导入调用 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 06:32:23 25 4
gpt4 key购买 nike

我正在从我的 Java 代码调用 Python 脚本。这是代码:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class JavaRunCommand {    public static void main(String args[]) throws IOException {        // set up the command and parameter        String pythonScriptPath = "my-path";        String[] cmd = new String[2];        cmd[0] = "python2.6";        cmd[1] = pythonScriptPath;        // create runtime to execute external command        Runtime rt = Runtime.getRuntime();            Process pr = rt.exec(cmd);        // retrieve output from python script        BufferedReader bfr = new BufferedReader(new InputStreamReader(                pr.getInputStream()));        String line = "";        while ((line = bfr.readLine()) != null) {            // display each output line form python script            System.out.println(line);        }    }}

python.py 有效

import osfrom stat import *c = 5print c 

python.py 不起作用

import MySQLdbimport osfrom stat import *c = 5print c # some database code down 

所以,我正处于一个关键阶段,我的启动有最后期限,我必须向客户展示我的 MVP 项目,我正在考虑这样调用 Python 脚本。当我在没有 dB 连接和 MySQLdb 库的情况下打印任何内容时,它会起作用。但是当我包含它们时,它不会运行 python 脚本。这里有什么问题。难道不应该运行处理所有输入的进程吗?我安装了 MySQLdb 并且脚本在没有 java 代码的情况下运行。

我知道这不是解决问题的最佳方法。但是为了向客户展示一些东西,我需要这个东西工作。有什么建议吗?

最佳答案

因此,我发现问题出在我在 Java 中传递以运行 python 程序的参数上。

第一个参数是 - python 2.6 但它应该只是 python 而不是某个版本号,因为 MySQLdB 和 python 存在兼容性问题。

我最终决定在 python 代码中使用 MySQL Python 连接器而不是 MySQLdB。它非常有效,问题得到了解决!

关于java - 从 JAVA MySQLdb 导入调用 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263854/

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