建立相同的目录树备份指定格式文件

我们经常会有这样一个需求:备份某个文件夹下的所有代码,图片,文档,并且希望与原来的文件夹有相同的目录结构(这样便于对应起来)。比如你需要备份服务器上的代码,然后把它删掉,在你不知道这些代码干什么用的时候,你只能把它原样备份下来,那么就需要建立与原来相同的目录结构。当文件数量众多,目录树比较深的情况下,手动干这件事就很麻烦了,并且显得很蠢有没有。作为一个程序员,肯定不能干这傻事!
本着自己动手丰衣足食的原则,写个python小程序搞定!!!

###########
#用于备份文件的小程序
#备份指定目录下的特定格式文件,并存放于相同目录下
##########

import  os
import shutil

############
file_format='.m'
rootdir_source='C:\\work\\小工具\\测试'
rootdir_backup='C:\\work\\小工具\\备份文件'
##############
if not os.path.exists(rootdir_source):
    print("所选文件不存在!!!")
if not os.path.exists(rootdir_backup):
    os.mkdir(rootdir_backup)
path_list=[]   #文件目录列表
for ls in os.walk(rootdir_source):
    path_list.append(ls[0])

count=0
for path in path_list:
    # print(path)
    # print(os.listdir(path))
    for i in os.listdir(path):
        if  os.path.splitext(i)[1]==file_format:
            source_path=os.path.join(path,i)
            target_path=rootdir_backup+path[len(rootdir_source):len(path)]
            if not os.path.exists(target_path):
                # os.mkdir(target_path)
                os.makedirs(target_path)
            shutil.copy(source_path,target_path)
            count+=1

print('已备份:', count,'个文件')
print('备份完成!')

程序的思路很简单,首先获取文件夹下的所有目录列表(一直到最深一层目录),然后遍历这个目录列表,找到指定格式的文件,建立相同的目录复制过去即可。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值