如何使用两个并行循环,Python?

如何使用两个并行循环,Python?,python,multithreading,upload,callback,sftp,Python,Multithreading,Upload,Callback,Sftp,我正在研究树莓Pi中的运动检测应用程序。有一个python脚本,它应该检查c++代码的输出,如果打印了“警报”,它应该开始将图像从给定目录上载到服务器: for line in self.output: if line == "alert\n": # upload a frame from directory to a server 然而,每一帧上传到服务器大约需要30秒,但每一行新内容都要在500毫秒内打印出来。因此,在每个iffor循环的条件下等待上载当前帧是没有效率的 我是P

我正在研究树莓Pi中的运动检测应用程序。有一个python脚本,它应该检查
c++
代码的输出,如果打印了“警报”,它应该开始将图像从给定目录上载到服务器:

for line in self.output:
  if line == "alert\n":
    # upload a frame from directory to a server
然而,每一帧上传到服务器大约需要30秒,但每一行新内容都要在500毫秒内打印出来。因此,在每个
if
for循环的
条件下等待上载当前帧是没有效率的


我是Python新手。有没有办法并行运行两个方法?我知道线程,但我不确定如果
for
循环每次在Raspberry Pi中创建新线程会发生什么

每次执行if语句时,将创建一个线程,它将执行然后停止(如果线程本身没有循环)。您可以使用以下语法

    def myFunc():
         #does the stuff you want it to do 
    for line in self.output:
       if line == "alert\n":
          threading.Thread(target=myFunc,args=randomArgs)
您应该启动一个新线程,并有一个操作队列供其完成。这意味着操作将按顺序完成,而不会阻塞主线程