我有一个python程序,运行正常,但很长一段时间后失败,我不明白为什么会发生这种情况。
这是为了在我的树莓派上驱动一个PiGlow板。
由于与它没有更好的关系,我让它以二进制格式显示时间,使用制造商提供的clock.py来演示电路板。
代码如下所示:
from pyglow import PyGlow
from datetime import datetime
pyglow = PyGlow()
while True:
time = datetime.now().time()
hour,min,sec = str(time).split(":")
sec,micro = str(sec).split(".")
# do stuff with the hour, min, sec, write them to the LEDs
# that's all, no delay or anything else, so the loop runs like crazy
它将正常运行一天或一周,然后失败,如下所示:
pi@pi ~/pyglow $ sudo python clock.py
Traceback (most recent call last):
File "clock.py", line 37, in <module>
sec,micro = str(sec).split(".")
ValueError: need more than 1 value to unpack
经过一些研究(主要是在SE上),我猜测当它失败时,是因为str().split(".")
只返回了一个值,而程序期望返回两个值。也许,如果在小数点后没有任何东西的情况下落在第二个边界上就够倒霉的了?
如果重要的话,那就是Python 2.7。
我是Python的新手,所以我不会马上想到这一点。
你能看到问题出在哪里吗?
为了防止这种情况,你会在这个程序中做什么改变?
https://stackoverflow.com/questions/29021015
复制相似问题