启动raspberry pi之后,启动python脚本就出现了问题。我试过了init.d,rc.local和cron。没用的。
我的脚本等待输入并将其保存到文件中:
import datetime
path = '/my/path/to/file.csv'
while 1:
name = input()
date = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')
presence = str(name) + ";" + str(date) + '\n'
print(presence)
file = open(path, "a+")
file.write(presence)
file.close()
如何在启动后运行它,脚本将一直在等待输入。
Cron:
-e
@reboot python /home/pi/Desktop/myscript.py
rc.local:
python /home/pi/Desktop/myscript.py
发布于 2018-05-27 19:58:59
注意,input()
从stdin读取。从init.d、rc.local或cron启动的程序将在/dev/null上打开stdin。这意味着input()
将引发一个EOFError。此外,input()
还将它读取的行平移。这可能不是你想要的。因此,您的代码至少有两个问题。
我无法提供解决方案,因为你没有提供足够的信息。“一直在等待输入”是什么意思?从哪里输入?如果输入产生连续的数据流,那么您真的希望while
循环的主体尽可能快地运行吗?话虽如此,您可能还是希望用一个简单的input()
替换sys.stdin.readline()
,以避免隐式eval()
。
https://stackoverflow.com/questions/50555800
复制