继续循环并继续(Python)
我的Python应用程序(v2.7)中有一个“while”循环,它基本上与蓝牙GPS设备通信,只要接收到数据,循环就会持续。本质上,while循环如下所示:-继续循环并继续(Python),python,loops,while-loop,python-multithreading,Python,Loops,While Loop,Python Multithreading,我的Python应用程序(v2.7)中有一个“while”循环,它基本上与蓝牙GPS设备通信,只要接收到数据,循环就会持续。本质上,while循环如下所示:- > data = "" > > if data == None: > print "Connection Failed" else: > print "Connection Established" > > while True: > data = socket.
> data = ""
>
> if data == None:
> print "Connection Failed" else:
> print "Connection Established"
>
> while True:
> data = socket.recv(1024)
现在我想做的是让这个while循环在程序的整个生命周期内持续运行,直到蓝牙设备关闭,这反过来会结束循环,因为没有数据被接收。尽管如此,随着这个while循环的继续,我想转到另一个解析数据的方法
如何让循环保持运行并继续执行下一个命令?需要穿线吗?我不熟悉线程的概念,因此请耐心等待我:)
谢谢是的,因为你基本上要同时做两件事,你必须创建一个新线程(使用
线程
),或者更简单地创建一个新进程(使用多处理
或者仅仅是os.fork
)
最简单的方法是将此部分放入函数中,然后使用
多处理
或线程
在不同的进程中启动函数。通常情况下,与多线程相比,多进程的奇怪性要少一些,仅供参考。根据从设备读取的延迟要求,您可能可以使用生成器作为一个处理器,而不是线程/多进程。
received = ""
while True:
data = socket.recv(1024)
if not data:
break # ends the while loop
received+=data
do_stuff(received)