如果想同时执行两个while True循环,可以使用多线程threading来实现。
完整代码
#coding=gbk from time import sleep, ctime import threading def muisc(func): while True: print \'Start playing: %s! %s\' %(func,ctime()) sleep(2) def move(func): while True: print \'Start playing: %s! %s\' %(func,ctime()) sleep(5) def player(name): r = name.split(\'.\')[1] if r == \'mp3\': muisc(name) else: if r == \'mp4\': move(name) else: print \'error: The format is not recognized!\' list = [\'爱情买卖.mp3\',\'阿凡达.mp4\'] threads = [] files = range(len(list)) #创建线程 for i in files: t = threading.Thread(target=player,args=(list[i],)) threads.append(t) if __name__ == \'__main__\': #启动线程 for i in files: threads[i].start() for i in files: threads[i].join() #主线程 print \'end:%s\' %ctime()
效果:
补充知识:python 如何在一个for循环中遍历两个列表
利用python自带的zip函数可同时对两个列表进行遍历,代码如下:
>>> list1 = [\'a\', \'b\', \'c\', \'d\'] >>> list2 = [\'apple\', \'boy\', \'cat\', \'dog\'] >>> for x, y in zip(list1, list2): print(x, \'is\', y) # 输出 a is apple b is boy c is cat d is dog
以上这篇python多线程实现同时执行两个while循环的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。