微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

2021-07-03java中运行python代码

使用Runtime.getRuntime()在java中执行python文件

public class JavaPythonFile {
	public static void main(String[] args) throws IOException, InterruptedException {	
	 	try {
	    	  Process  process = Runtime.getRuntime().exec("python D:\\\\pythontext\\keshe.py"); //放python文件绝对路径
	    	  
	           BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
	           String line = null;
	            while ((line = in.readLine()) != null) {
	               System.out.println(line);
		             }
		             in.close();
		            process.waitFor();
		         } catch (IOException e) {
		             e.printstacktrace();
		        } catch (InterruptedException e) {
		             e.printstacktrace();
        } 
	}
}

注意 python中如果有图片,一定要用图片绝对路径

另外在java中运行时,如果出现乱码,
因为Python安装在Windows环境下的认编码格式是GBK!!!

我的解决办法:在被调用的脚本中增加如下代码

import io
import sys
 
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

注:一定要添加到其他依赖模块import之前

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

相关推荐