已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > Python > 讨论/求助

标题: Python多进程求助

作者: @Ta

时间: 2021-02-02

点击: 1794
被下沉

import os, time
from multiprocessing import Pool


# 实现文件的拷贝
def copyFile(rPath, wPaht):
    fr = open(rPath, "rb")
    fw = open(wPaht, "wb")

    context = fr.read()
    fw.write(context)
    fr.close()
    fw.close()


path = r"F:\file"
topath = r"F:\tofile"

if __name__ == "__main__":
    # 读取path下的所有的文件
    filesList = os.listdir(path)

    start = time.time()
    pp = Pool()
    for fileName in filesList:
        pp.apply_async(copyFile, args=(os.path.join(path, fileName), os.path.join(topath, fileName)))

        pp.close()
        pp.join()
        end = time.time()
        print("总耗时: %0.2f" % (end - start))

QQ浏览器截图20210202141525.jpg
为什么是Pool not running?
小米8周年旗舰手机


[隐藏样式|查看源码]


『回复列表(2|显示机器人聊天)』

1. 没玩过Python,盲猜下你的pp.close(),pp.join(),应该放在for循环外面处理,你代码缩进错误了,放在for循环里面执行第一次就关闭了进程池对象,for循环执行第二次就报错了
(/@Ta/2021-02-02 16:58//)

2.

@胡哥,确实是这两个缩进搞错了,非常感谢
小米8周年旗舰手机

(/@Ta/2021-02-02 18:28//)

回复需要登录

7月23日 10:05 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1