我的覆盆子上有一个非常小而简单的python脚本,只要有一个有效的Wi-Fi连接,它就可以正常工作。树莓连接到移动热点,它可能会失去它的连接,因为它可能会超出范围。一旦发生这种情况,就会抛出异常并结束请求“while”循环。
我希望获得更多有关如何使此脚本暂停或“忽略”异常的信息,以便在连接恢复后立即返回到循环中。
import urllib
import serial
from time import sleep
link = "http://myurl/"
while True:
f = urllib.urlopen(link)
myfile = f.read()
print myfile
ser = serial.Serial('/dev/ttyUSB0', 9600)
ser.write(myfile)
sleep(3)
答案 0 :(得分:0)
您可以尝试一种名为(显然)try
语句的内容!
在while
循环中,您可以使用try: except
块来确保即使您的代码没有执行(您的pi失去联系或其他奇怪的事情发生),您也会赢得# 39;结束程序!
这种类型的代码如下所示:
import urllib
import serial
from time import sleep
link = "http://myurl/"
while True:
try:
f = urllib.urlopen(link)
myfile = f.read()
print myfile
ser = serial.Serial('/dev/ttyUSB0', 9600)
ser.write(myfile)
sleep(3)
except:
sleep(3) #If the code executed in the try part fails, then your program will simply sleep off 3 seconds before trying again!