java调用含第三方库的py文件
这是一个心酸的历程。
py文件如下:
这里调用出现的问题主要是第三方包的问题,因为你的py文件里可能含有很多三方库文件,jython的jar包里可能不含有这个,所以这时需要你找到你已有三方库文件的exe,怎么找呢,去你的pycharm里找,不然java会调用计算机默认的python去做,而你可能只是把三方库文件下载到了某一个程序里,如果我这么说你不懂那就去pycharm里找:
java源码:
import org.python.core.Py;
import org.python.core.PySystemState;
import org.python.util.PythonInterpreter; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class py {
public static void main(String[] args) throws IOException {
try{
System.out.println("start");
Process pr = Runtime.getRuntime().exec("C:\\Users\\神奇的刘dd\\PycharmProjects\\untitled\\venv\\Scripts\\python.exe C:\\Users\\神奇的刘dd\\PycharmProjects\\untitled\\毕设\\TestMysql.py");
System.out.println("123");
BufferedReader in = new BufferedReader(new
InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
} catch (Exception e){
e.printStackTrace();
} }
} 插入数据库也可以。亲测成功!
接受的python程序的返回值是乱码怎么办?
import org.python.core.Py;
import org.python.core.PySystemState;
import org.python.util.PythonInterpreter; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class py {
public static void main(String[] args) throws IOException {
try{
System.out.println("start");
Process pr = Runtime.getRuntime().exec("C:\\Users\\神奇的刘dd\\PycharmProjects\\untitled\\venv\\Scripts\\python.exe C:\\Users\\神奇的刘dd\\PycharmProjects\\untitled\\毕设\\QQNews.py");
System.out.println("123");
BufferedReader in = new BufferedReader(new
InputStreamReader(pr.getInputStream(),"GBK"));
String line;
while ((line = in.readLine()) != null) {
//String res=new String(line.getBytes("iso8859-1"), "utf-8");
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
} catch (Exception e){
e.printStackTrace();
} }
}
这样设置字符集为GBK即可。
java调用含第三方库的py文件的更多相关文章
- 使用java以及jdbc不使用第三方库执行sql文件脚本
使用java以及jdbc不使用第三方库执行sql文件脚本 2017年02月15日 15:51:45 阅读数:660 使用java执行sql脚本的方法 解析sql脚本,删除不必要的注释和空行 将语句按分 ...
- JAVA调用C语言写的SO文件
JAVA调用C语言写的SO文件 因为工作需要写一份SO文件,作为手机硬件IC读卡和APK交互的桥梁,也就是中间件,看了网上有说到JNI接口技术实现,这里转载了一个实例 // 用JNI实现 // 实例: ...
- Java调用dll动态库
最近项目里使用java调用dll动态库,因此研究了一下这方面的东西. 使用的工具包如下 <dependency> <groupId>net.java.dev.jna</g ...
- Python Pyinstaller打包含pandas库的py文件遇到的坑
今天的主角依然是pyinstaller打包工具,为了让pyinstaller打包后exe文件不至过大,我们的py脚本文件引用库时尽可能只引用需要的部分,不要引用整个库,多使用“from *** imp ...
- 一点一点学写Makefile(3)-增加第三方库和头文件
我们在写代码的时候不一定都是有自己来完成,一个工程中会大量使用一些比较优秀的动态库.静态库等,我们在使用这些库完成所有的代码后,需要在编译的时候将这些库使用的头文件添加到我们的工程上,将他的库文件也添 ...
- Linux系统上java调用C++ so库文件
PART1: java中使用jna替代jni调用c++/c生成的 dll/so库文件需要做的事项 1.引入JNA依赖或者直接下载JNAjar包 <!-- http ...
- linux下java调用.so动态库方法2: JNA
摘自:http://blog.csdn.net/todorovchen/article/details/21319033 另请参见: http://blog.sina.com.cn/s/blog_8c ...
- UE4使用第三方库读写xml文件
原文链接:http://gad.qq.com/article/detail/7181031 本文首发腾讯GAD开发者平台,未经允许,不得转载 在游戏开发过程中,读写xml几乎已经成为不可或缺的功能,但 ...
- import第三方库的头文件找不到的错误
问题描述:使用cocoapods导入了第三方库,import该第三方库的某个头文件,然后编译报错找不到这个头文件内所import的头文件. 产生原因:我们需要配置头文件的搜索路径,告诉系统头文件的路径 ...
随机推荐
- Numpy常用函数用法大全
.ndim :维度.shape :各维度的尺度 (2,5).size :元素的个数 10.dtype :元素的类型 dtype(‘int32’).itemsize :每个元素的大小,以字节为单位 ,每 ...
- Java流程控制之循环语句
循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将 ...
- 【mysql】You must reset your password using ALTER USER statement before executing this statement. 报错处理
1.问题:登陆mysql以后,不管运行任何命令,总是提示这个 mysql> select user,authentication from mysql.user; ERROR 1820 (HY0 ...
- linux的ls命令详解
概述 Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录). 语法 ls [-alrtAFR] [name...] 参数 -a 显示所有文件及目录 (ls内定将文件名 ...
- oracle学习笔记(十八) PL/SQL 游标
游标 说明 查询结果的光标,相当于java中的一个迭代器,方便遍历操作 可使用的属性 %FOUND SQL语句查询或影响了一行或多行时为 TRUE.如:mycursor%FOUND %NOTFOUND ...
- C#简单的枚举及结构
using System; namespace program { enum WeekDays { a, b, c = ,//11 赋值以后就变成11,不赋值就是2 d, e, f, g }//不能输 ...
- SPA项目开发之首页导航+左侧菜单
Mock.js: 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发.进行前后端的原型分离以及用 ...
- 通过JS屏蔽鼠标右键
我也是第一次接触这个功能,只需一行代码即可搞定,直译过来就是“屏蔽上下文菜单”,特此记录一下吧. document.oncontextmenu = () => false;
- 网站的favicon图标
网站的favicon图标 favicon.ico一般用于作为缩略的网站标志,它显示在浏览器的地址栏或者标签上. 制作favicon图标 把图片转换为png图片 把png图片转换为ico图标,这需要借助 ...
- js 时间戳转化为时间
// 时间戳转为时间 bb="xxxx"://时间戳 var date = new Date(bb); Y = date.getFullYear() + '-'; M = (dat ...