1

我的 Python 应用程序 (v2.7) 中有一个“while”循环,它基本上与蓝牙 GPS 设备通信,只要接收到数据,循环就会继续。本质上,while 循环如下所示:-

> data = ""
> 
> if data == None:
>     print "Connection Failed" else:
>     print "Connection Established"
> 
> while True:
>     data = socket.recv(1024)

现在我想做的是让这个while循环在程序的整个生命周期中持续运行,直到蓝牙设备被关闭,这反过来将结束循环,因为不会接收到数据。尽管如此,随着这个 while 循环的继续,我想转向另一种解析数据的方法。

如何让循环继续运行并继续执行下一个命令?需要穿线吗?我是线程概念的新手,所以请耐心等待我:)

谢谢

4

2 回答 2

0

是的,因为你基本上要同时做两件事,你必须创建一个新线程(使用threading)或更简单的一个新进程(使用multiprocessing或只是os.fork

最简单的做法是将这部分放在一个函数中,并在不同的进程中使用multiprocessingthreading启动该函数。通常,与多线程相比,多进程的怪异程度要低,仅供参考。

于 2011-09-19T22:31:02.507 回答
-1
received = ""
while True:
     data = socket.recv(1024)
     if not data:
         break # ends the while loop
     received+=data

do_stuff(received)
于 2011-09-19T22:55:38.150 回答