我正在尝试创建一个while循环语句,该语句将从互联网上获取数据,假设是一个状态,并将根据发布到系统的状态运行该循环。
目前,我能够从Internet上获取数据并通过将其解析为JSON格式来识别状态。我想做的是在状态等于0的情况下执行循环,并持续检查状态而不会中断或减慢循环速度。 (我的意思是我希望循环连续运行一秒钟而不会中断)。
这是我正在使用的当前代码,用于从服务器获取数据并用作循环的触发点。
def movement(status):
print('movement_oaaut')
r1 = requests.get('http://aviarthardph.net/robot/table.php?tableInfo')
data1 = r1.json()
print(data1['status'])
while(data1['status'] == '0' or data1['status'] == 0):
print('galaw')
print ('movement_in')
while m.farTrack() == '1101':
print ("Left")
myData = ""
m.left(0.1)
break
while m.farTrack() == '1011':
print ("Right")
myData = ""
m.right(0.1)
break
while m.farTrack() == '1110':
print ("Right")
myData = ""
m.right(0.1)
break
while m.farTrack() == '0111':
print ("Left")
myData = ""
m.left(0.1)
break
while m.farTrack() == '0011':
print ("Left")
myData = ""
m.left(0.1)
break
while m.farTrack() == '1100':
print ("Right")
myData = ""
m.right(0.1)
break
while m.farTrack() == '0110':
print ("Right")
myData = ""
m.right(0.1)
break
while m.farTrack() == '0010':
print ("Right")
myData = ""
m.right(0.1)
break
while m.farTrack() == '1111':#if counter
print ("Left")
myData = ""
m.left(0.1)
break
while m.lineTrack() == '1110':
print ("Right")
myData = ""
m.right(0.1)
break
我已经尝试过在while循环中添加新请求,就像这样。
def movement(status):
print('movement_oaaut')
r1 = requests.get('http://aviarthardph.net/robot/table.php?tableInfo')
data1 = r1.json()
print(data1['status'])
while(data1['status'] == '0' or data1['status'] == 0):
print('galaw')
print ('movement_in')
while m.farTrack() == '1101':
print ("Left")
myData = ""
m.left(0.1)
break
r1 = requests.get('http://aviarthardph.net/robot/table.php?tableInfo')
data1 = r1.json()
但是,每当我运行循环时,都会有2秒的延迟。就像我说的一样,我希望循环能够连续运行而没有1秒的延迟,并且可以同时获取Internet中的状态。
我是Python的初学者。