1. import os
  2. import multiprocessing
  3.  
  4. def copy_file(q, file_name, old_folder_name, new_folder_name):
  5. """ 完成文件的复制 """
  6. old_file = open(old_folder_name + "/" + file_name, "rb")
  7. content = old_file.read()
  8. old_file.close()
  9.  
  10. new_file = open(new_folder_name + "/" + file_name, "wb")
  11. new_file.write(content)
  12. new_file.close()
  13. q.put(file_name)
  14.  
  15. def main():
  16. # 获取用户要copy 文件夹的名字
  17. old_folder_name = input("请输入要copy的文件夹的名字:")
  18. # 创建一个新文件夹
  19. new_folder_name = old_folder_name + ""
  20. os.mkdir(new_folder_name)
  21. # 获取文件夹的所有的待copy的文件名字 listdir()
  22. file_names = os.listdir(old_folder_name)
  23. print(file_names)
  24. # 4. 创建进程池
  25. po = multiprocessing.Pool(5)
  26. # 5. 创建一个队列
  27. # manager = multiprocessing.Manager() 可以创建一个Manger对象
  28. q = multiprocessing.Manager().Queue()
  29. # 6. 向进程池中添加 copy文件的任务
  30. for file_name in file_names:
  31. po.apply_async(copy_file, args=(q, file_name, old_folder_name, new_folder_name))
  32. po.close()
  33. # po.join()
  34. all_file_name = len(file_names)
  35. copy_ok_file = 0
  36. while True:
  37. file_name = q.get()
  38. copy_ok_file += 1
  39. print("\r拷贝进度为:%0.2f%%" % (copy_ok_file * 100 / all_file_name), end="")
  40. if copy_ok_file >= all_file_name:
  41. break
  42.  
  43. if __name__ == '__main__':
  44. main()

Python 多进程拷贝文件夹案例的更多相关文章

  1. centos下cp -r 命令可拷贝文件夹

    LINUX命令的cp -r 和-R的区别 功能上是等价的.不加-r或者-R的时候,只拷贝文件,不拷贝文件夹:加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推.rm的-R ...

  2. ubuntu mount u盘以及cp拷贝文件夹

    如果是ubuntu桌面环境的话,不用mount,接入的U盘就可以直接被系统识别,访问起来非常方便,但如果没有桌面环境呢,比如在ubuntu server端,如何访问U盘呢? 第一步:查看U盘信息sud ...

  3. AWS S3 递归上传文件和递归下载文件, 以及S3之间拷贝文件夹

    1. 递归上传文件: aws s3 cp 本地文件夹 s3://bucket-name -- recursive --region us-east-1 2. 递归下载S3上的文件夹: cd  本地下载 ...

  4. Swift 拷贝文件夹,实现文件夹内容整体复制

    我们知道,在沙盒内,iOS要拷贝一个文件,可以使用 fileManager.copyItem(atPath: fullPath, toPath: fulltoPath) 方法简单实现,不过当我们要拷贝 ...

  5. 用PRODUCT_COPY_FILES拷贝文件夹

    拷贝文件PRODUCT_COPY_FILES += device/qcom/msm8909/media/media_profiles_8909.xml:system/etc/media_profile ...

  6. C# 拷贝文件夹到指定文件夹并更改文件夹名称

    using System; using System.Collections.Generic; using System.Text; namespace ClientPrintServer.Tools ...

  7. python之拷贝文件

    做了个小实验, 用于拷贝文件夹下面的jpg. 用于拓展, 可以引入类和方法, 拷贝你指定的任意类型的文件. import os src = 'C:\\Users\\Administrator\\Des ...

  8. Python中module文件夹里__init__.py的功能

    怎么引用模块 环境:win7 + python3.5.2文档结构: -project -data -src  -filterCorpus.py  -translateMonolingual.py 问题 ...

  9. python 拷贝文件夹下所有的文件到指定文件夹(不包括目录)

    1.随便简单些写了一下.直接粘结代码,只是简单的实现一下,还很多需要完善和扩展的地方,比如忽略掉后缀文件,删除文件 如果排除的某些的话可以用: sourceF.find('.后缀')>0 2.注 ...

随机推荐

  1. tensorflow cpu问题

    返回: -- ::] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 ...

  2. Greenwich.SR2版本的Spring Cloud Ribbon实例

    上次我们了解了eureka(参见Greenwich.SR2版本的Spring Cloud Eureka实例),里面的服务消费方(服务实例a-beautiful-client)我们其实已经用到了ribb ...

  3. pyecharts绘画优美图形

    常用图形:柱形图-折线图-饼图-散点图 from pyecharts import Line, Bar, Pie, EffectScatter # 数据 attr =["衬衫", ...

  4. LeetCode_122. Best Time to Buy and Sell Stock II

    122. Best Time to Buy and Sell Stock II Easy Say you have an array for which the ith element is the ...

  5. LeetCode_101. Symmetric Tree

    101. Symmetric Tree Easy Given a binary tree, check whether it is a mirror of itself (ie, symmetric ...

  6. 【Leetcode_easy】788. Rotated Digits

    problem 788. Rotated Digits solution1: class Solution { public: int rotatedDigits(int N) { ; ; i< ...

  7. pytest文档20-pytest-html报告优化(添加Description)

    前言 pytest-html测试报告默认是不展示用例描述Description内容,之前用unittest生成的报告是可以展示用例的描述,也就是test开头的用例下三个引号里面的注释(docstrin ...

  8. 提高.NET应用性能

    提高.NET应用性能的方法 写在前面 设计良好的系统,除了架构层面的优良设计外,剩下的大部分就在于如何设计良好的代码,.NET提供了很多的类型,这些类型非常灵活,也非常好用,比如List,Dictio ...

  9. easyui中 datagrid与pagination结合使用【记录】

    /** * Js名称:客源基本管理 * */ var setPageNumber = 1; var setPageSize = 10; var guestManageListData = {}; // ...

  10. 502 BAD GATEWAY-k8s的cgroup限制了apache的可用内存

    1.release的组件逻辑图 2.表象:按F12,总是报502 BAD GATEWAY 3.nginx日志 [error] #: * upstream prematurely closed conn ...