prprrrr 2021-03-05 15:02 采纳率: 0%
浏览 384

在java中调用python脚本无输出

我在树莓派上使用java进行编程,想通过读取python脚本执行输出到idea的控制台

py脚本

import RPi.GPIO as GPIO
from pn532 import *

if __name__ == '__main__':
        pn532 = PN532_SPI(debug=False, reset=20, cs=4)
        #pn532 = PN532_I2C(debug=False, reset=20, req=16)
        #pn532 = PN532_UART(debug=False, reset=20)

        ic, ver, rev, support = pn532.get_firmware_version()
        print('Found PN532 with firmware version: {0}.{1}'.format(ver, rev))

        # Configure PN532 to communicate with MiFare cards
        pn532.SAM_configuration()

        print('Waiting for RFID/NFC card...')
        uid = pn532.read_passive_target(timeout=0.5)
        print('Found card with UID:', [hex(i) for i in uid])

        GPIO.cleanup();

java程序

package test;

import org.python.core.PyFunction;
import org.python.util.PythonInterpreter;

import java.io.*;

public class Read {
    public static void main(String[] args) {
        Process proc;
        try {
            proc = Runtime.getRuntime().exec("python /home/pi/Desktop/raspberrypi/python/a.py");// 执行py文件
//            proc = Runtime.getRuntime().exec("python /home/pi/Desktop/raspberrypi/python/example_get_uid.py");// 执行py文件
            //用输入输出流来截取结果
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

执行py脚本之后是有结果的

但是执行java文件后没有输出

 

我发现时from pn532 import *的问题,但是不导入pn532这个脚本也用不了

有什么好的解决办法吗?

  • 写回答

2条回答 默认 最新

  • 慕容卡卡 2021-03-05 22:33
    关注

    python版本不一致

    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集