zoukankan      html  css  js  c++  java
  • 文件夹复制器

     1 # -*- coding:utf-8 -*-
     2 # Author:Sure Feng
     3 
     4 import os
     5 import multiprocessing
     6 import time
     7 
     8 def copy_dir(src_dir, file, dest_dir, queue):
     9    """文件夹复制"""
    10    # 打开文件
    11    src_file = open((src_dir + "/" + file), "rb")
    12    dest_file = open(dest_dir + "/" + file, "wb")
    13    # 读写文件
    14    data = src_file.read()
    15    dest_file.write(data)
    16    # 传递进度
    17    queue.put(1)
    18    # 关闭文件
    19    src_file.close()
    20    dest_file.close()
    21 
    22 if __name__ == '__main__':
    23     # 获取源文件夹名
    24     src_dir = input("请输入源文件夹名称:")
    25     # 获取源文件夹内的文件列表名
    26     file_list = os.listdir(src_dir)
    27     # 获取目标文件夹
    28     dest_dir = src_dir + "_备份"
    29     os.mkdir(dest_dir)
    30     # 创建队列,显示进度
    31     queue = multiprocessing.Queue()
    32 
    33     # 创建多进程,完成文件复制
    34     for file in file_list:
    35         pro = multiprocessing.Process(target=copy_dir, args=(src_dir, file, dest_dir, queue))
    36         pro.start()
    37 
    38     complish_len = 0
    39     while True:
    40         if complish_len == len(file_list):
    41             break
    42         complish_len += queue.get()
    43         time.sleep(0.4)
    44 
    45         print("
     当前进度已完成 %.2f %%" % (complish_len/len(file_list) * 100), end="")
  • 相关阅读:
    iOS button总结
    蓝鸥 UI 考试 绝密
    iOS UI 21 消息通知
    iOS UI 21 单例中的线程
    iOS UI 21 线程
    iOS UI 21 动画
    iOS UI 20 音乐播放器
    深入Objective-C的动态特性
    符合iOS系统兼容性需求的方法
    IOS用NSLog做 debug调试
  • 原文地址:https://www.cnblogs.com/sure-feng/p/10325729.html
Copyright © 2011-2022 走看看