【问题标题】:EOFerror on startup启动时出现 EOFerror
【发布时间】:2019-03-05 03:55:52
【问题描述】:

在启动时加载脚本后出现错误 EOFerror: 脚本在 CLI 模式下运行。 读取一行时的 EOF。

条码:追溯(最近一次调用最后一次):文件“/home/pi/BCKHL.py”, 第 48 行,在 compare() 文件“/home/pi/BCKHL.py”,第 20 行,在 比较barcode=input("barcode:")

脚本在手动运行时工作。

这里是脚本代码:

import RPi.GPIO as GPIO
    ###setup###
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(18, GPIO.OUT) #Ventil 1#
GPIO.output(18, GPIO.LOW)
GPIO.setup(21, GPIO.OUT) #Ventil 2#
GPIO.output(21, GPIO.LOW)
GPIO.setup(38, GPIO.OUT) #Ventil 1 crvena led#
GPIO.output(38, GPIO.HIGH)
GPIO.setup(40, GPIO.OUT) #Ventil 1 zelena led#
GPIO.output(40, GPIO.LOW)
GPIO.setup(35, GPIO.OUT) #Ventil 2 crvenaled#
GPIO.output(35, GPIO.HIGH)
GPIO.setup(37, GPIO.OUT) #Ventil 2 zelena led lampa#
GPIO.output(37, GPIO.LOW)

def compare():
    while True:
        barcode=input("Barcode:")
        if barcode=="S5000070931":
            GPIO.output(18, GPIO.HIGH)            
            GPIO.output(21, GPIO.LOW)
            GPIO.output(38, GPIO.LOW)
            GPIO.output(40, GPIO.HIGH)
            GPIO.output(35, GPIO.HIGH)
            GPIO.output(37, GPIO.LOW)

            continue
        elif barcode=="S5000057670":
            GPIO.output(18, GPIO.LOW)
            GPIO.output(21, GPIO.HIGH)
            GPIO.output(40, GPIO.LOW)
            GPIO.output(38, GPIO.HIGH)
            GPIO.output(35, GPIO.LOW)
            GPIO.output(37, GPIO.HIGH)
            continue
        else:
            print("Molim Vas da skenirate ispravan barkod")
            GPIO.output(18, GPIO.LOW)
            GPIO.output(21, GPIO.LOW)
            GPIO.output(38, GPIO.HIGH)
            GPIO.output(35, GPIO.HIGH)
            GPIO.output(40, GPIO.LOW)
            GPIO.output(37, GPIO.LOW)
            continue

compare()

有人知道如何解决这个问题吗?

谢谢。

【问题讨论】:

  • 您似乎不是非活动终端。你是怎么开始的?
  • 我试过这个方法:systemd。从这个链接learn.sparkfun.com/tutorials/…
  • input 通过stdin 请求输入。这对系统服务没有意义,因为没有人提供该输入。
  • 我尝试过:import sys,barcode=sys.stdin.read("Barcode:") 但我收到错误“需要整数参数,得到 'str'”

标签: python startup eof eoferror


【解决方案1】:

尝试从 .bashrc 运行它

sudo nano /home/pi/.bashrc

在最后一行写:

echo Running at boot 
sudo python3 /home/pi/BCKHL.py

如果你还有它,不要忘记从 rc.local 中删除它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2011-10-12
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多