【发布时间】:2015-05-15 06:33:04
【问题描述】:
我有一个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 还是很陌生,所以这不会立即对我产生影响。
你能看出是什么问题吗?
您会在此程序中进行哪些更改以防止这种情况发生?
【问题讨论】:
标签: python python-2.7 raspberry-pi crash