[英]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.