如果想同时执行两个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循环的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。