[英]Continuing a Loop and Moving On (Python)
我的Python應用程序(v2.7)中有一個“ while”循環,該循環基本上與Bluetooth GPS設備通信,並且只要接收到數據,循環就持續進行。 本質上,while循環看起來像這樣:
> data = ""
>
> if data == None:
> print "Connection Failed" else:
> print "Connection Established"
>
> while True:
> data = socket.recv(1024)
現在,我要做的是在程序的整個生命周期中讓此while循環不斷運行,直到關閉藍牙設備為止,這又將由於沒有數據接收而結束循環。 盡管如此,隨着while循環的繼續,我然后想轉到另一個將解析數據的方法。
如何使循環運行並繼續執行下一個命令? 需要穿線嗎? 我是線程概念的新手,所以請耐心等待:)
謝謝
是的,因為實際上您將同時做兩件事,所以您必須創建一個新線程(使用threading
),或者可能更簡單地創建一個新進程(使用multiprocessing
或僅使用os.fork
)
最簡單的方法是將此部分放入函數中,並使用multiprocessing
或threading
在不同的進程中啟動該函數。 通常,與多個線程相比,與FYI相比,您對多個進程的怪異更少。
received = ""
while True:
data = socket.recv(1024)
if not data:
break # ends the while loop
received+=data
do_stuff(received)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.