from multiprocessing import Pool,Manager
import os
#完成拷贝文件
def copyFile(filename,oldname,newname,que):
"拷贝文件函数"
# 三部操作 读取内容,写入内容 关闭
que.put(filename)
br = open(oldname+'/'+filename,'rb')
bw = open(newname+'/'+filename,'wb')
content = br.read()
bw.write(content)
#关闭源文件和目标文件
br.close()
bw.close() def fun():
#1、提示输入要拷贝的文件名字
oldname = input("请输入你要拷贝的文件夹名字或者路径:")
#2.创建文件夹,存放拷贝内容
newname = oldname + '拷贝内容'
os.mkdir(newname)
#3.获取oldname中的目录和文件名字
filenames = os.listdir(oldname)
print(filenames)
# #4.过滤文件
# filename = solute(filenames)
#利用多进程的方式拷贝数据
po = Pool(5) #进程数量
que = Manager().Queue()
for fileName in filenames:
po.apply_async(copyFile,args=(fileName,oldname,newname,que))
con = 0
allcon = len(filenames)
while True:#用主进程来显示拷贝进度
dd = que.get()
con +=1
print('拷贝进度:%.2f%%'%((con/allcon)*100),end='')
if con==allcon:
print("恭喜你拷贝完成")
break
if __name__=='__main__':
fun()

最新文章

  1. ppmoney
  2. API -- java.lang.Integer
  3. 中国式IT的项目
  4. python 安装mysql-python模块
  5. 把一个select查询结果插入到一个表(可选指定字段和值实例)
  6. Away 3d 框架
  7. JavaScript 数组操作方法
  8. asp.net MVC 网站图片防盗链的几种方法
  9. Example017简单的下拉框
  10. c语言基础学习07
  11. A glance at endpoint security
  12. JavaScript(二)
  13. Python2.x爬虫入门之URLError异常处理
  14. python--numpy、pandas
  15. GIS常用知识列举
  16. C#后台解析 json 动态解析 通用(Dictionary)
  17. python 自然语言处理(二)____获得文本语料和词汇资源
  18. tomcat访问manager报404;server.xml中配置了Context path
  19. SSM请求的响应
  20. 【转】Navicat Premium 12破解方法

热门文章

  1. learning coap protocol
  2. jdk 版本切换
  3. RSA填充模式
  4. 用docker搭建python项目运行环境
  5. 蓝图Blueprint
  6. Double H
  7. selemiun 自动化测试登录验证码处理
  8. jmeter如何链接数据库并拿到相应值用到请求中
  9. Python之set方法
  10. SpringCloud系列------Config-Server