使用文本文件在Python中进行多线程处理

时间:2013-07-10 10:37:17

标签: python multithreading

假设我有包含

的文本列表
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
jjj
kkk
lll
mmm
nnn
ooo
ppp
qqq
rrr
sss
ttt
uuu

我想编写代码以便每次获得5行并对它们应用特定的功能 这个假设每次获得5行并在其上执行功能消息

#!/usr/bin/python
import time
def message(msg):
    print msg
    time.sleep(2)

file=open("x.txt","r")
for i in range(5):
    line=file.readline(i)
    message(line)

但似乎效果不佳。另一个问题是如何使用thread模块使其成为多线程。

1 个答案:

答案 0 :(得分:1)

不完全确定你在寻找什么,但这里有一些基本的代码可以帮助你。 (假设testdata是包含您在上面提供的行的列表)

from time import sleep
from threading import Thread

def send_message(msg): 
    print msg
    sleep(2)

jobs = []
for datum in testdata: 
    proc = Thread(target=send_msg, args=(datum,))
    jobs.append(proc)
    proc.start()

至于把它分成5秒或者其他什么,你可以调整它以满足你的需要。