通过下面这种方式调用
Process process = Runtime.getRuntime().exec(cmdArr);
输入流读取
InputStream is = process.getInputStream();
DataInputStream dis = new DataInputStream(is);
str = dis.readLine();
下面是日志
直接执行python代码 就会返回正确结果 用流去接收就会出现乱码
通过下面这种方式调用
Process process = Runtime.getRuntime().exec(cmdArr);
输入流读取
InputStream is = process.getInputStream();
DataInputStream dis = new DataInputStream(is);
str = dis.readLine();
下面是日志
直接执行python代码 就会返回正确结果 用流去接收就会出现乱码
看一下你用python返回的数据是用什么编码的,试一下sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')这个