Python复制文件夹某类型文件(带进度显示)

挺简单的,做个记录,直接上代码吧:

# -- coding: utf-8 --
import os
import shutil
import sys

total = 1636 # 要复制的文件总数,视情况改
i = 0
interval = 5 # 打算每隔5%变化一次,视需求改
interval_num = int(total / (100 / interval)) 
# 遍历路径内的文件
for root , dirs, files in os.walk('C:\\Users\\cloudox\\Desktop\\sourcedir'):
    for name in files:
        if name.endswith(".png"): # 只复制特定类型文件
            # print (os.path.join(root, name))
            source = os.path.join(root, name)
            target = os.path.join('E:\\targetdir\\', name)
            try:
                shutil.copy(source, target)
            except:
                print("Copy %s failed!" % name)
            
            # 每隔5%刷新一次屏幕显示的进度百分比
            i += 1
            if (i % interval_num == 0):
                sys.stdout.write("Copy progress: %d%%   \r" % (i / interval_num * interval))
                sys.stdout.flush()

查看作者首页

你可能感兴趣的:(Python复制文件夹某类型文件(带进度显示))