|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 使用进程池完成如下要求:
# * 将/usr/lib/python3.5文件夹下的所有py结尾的文件copy到 桌面上的Test文件夹中
# * 用多任务(多进程或者多线程)的方式完成Test文件夹中的所有内容复制
# * 新的文件夹的名字为“Test-附件”
from multiprocessing import Manager, Pool
import os
def read(file_list, q):
for file_name in file_list:
if file_name[-3:] == '.py':
q.put(file_name)
def write(q):
while True:
w = q.get()
with open('/usr/lib/python3.5/' + w, 'rb') as f:
content = f.read()
with open('/home/rumple/Desktop/Test/'+ w + '附件', 'wb') as d:
d.write(content)
def main():
file_list = os.listdir('/usr/lib/python3.5/')
po = Pool(3)
q = Manager().Queue()
po.apply_async(read, (file_list, q))
po.apply_async(write, (q, ))
po.close()
po.join()
if __name__ == '__main__':
main()
代码如上 该文件夹下有4000多个文件 但是拷贝出来只有170个。不知道哪里出了问题。不用进程可以正常复制 |
|