鱼C论坛

 找回密码
 立即注册
查看: 1703|回复: 1

一个关于线程的问题

[复制链接]
发表于 2017-12-26 18:45:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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个。不知道哪里出了问题。不用进程可以正常复制
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-12-26 20:05:37 | 显示全部楼层
虚拟机的问题。。。擦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-26 17:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表