【发布时间】:2013-02-22 05:14:23
【问题描述】:
我正在从我的 Java 代码调用 Python 脚本。这是代码:
导入 java.io.BufferedReader; 导入 java.io.IOException; 导入 java.io.InputStreamReader; 公共类 JavaRunCommand { 公共静态 void main(String args[]) 抛出 IOException { // 设置命令和参数 字符串 pythonScriptPath = "我的路径"; 字符串[] cmd = 新字符串[2]; cmd[0] = "python2.6"; cmd[1] = pythonScriptPath; // 创建运行时执行外部命令 运行时 rt = Runtime.getRuntime(); 进程 pr = rt.exec(cmd); // 从 python 脚本中检索输出 BufferedReader bfr = new BufferedReader(new InputStreamReader( pr.getInputStream())); 字符串行 = ""; while ((line = bfr.readLine()) != null) { //以python脚本的形式显示每个输出行 System.out.println(line); } } }python.py 有效
导入操作系统 从统计导入 * c = 5 打印 cpython.py 不起作用
导入 MySQL 数据库 导入操作系统 从统计导入 * c = 5 打印 c # 一些数据库代码下来所以,我正处于一个关键阶段,我的创业有最后期限,我必须向客户展示我的 MVP 项目,我正在考虑像这样调用 Python 脚本。当我在没有 dB 连接和 MySQLdb 库的情况下打印任何内容时,它可以工作。但是当我包含它们时,它不会运行 python 脚本。这里有什么问题。不是假设运行处理所有输入的过程。我安装了 MySQLdb,并且脚本在没有 java 代码的情况下运行。
我知道这不是解决问题的最佳方法。但是为了向客户展示一些东西,我需要这个东西工作。有什么建议吗?
【问题讨论】:
-
你有什么错误吗?如果您不打印数据库连接,您的 java 程序的输出是什么?
-
您的 python 脚本是否从 java 之外的命令 shell 运行?可能是命令 shell 中的 Python 找不到该库。看看这个 q:stackoverflow.com/questions/135035/python-library-path 并从 java 和独立打印 sys.path
标签: java python jakarta-ee