引言

很多人会定期压缩备份一下自己的文件,但每次一个个文件压缩移动很麻烦,整理耗时又费力。

面对这些问题,只要用Python的zipfile包,几句代码就够了,大大提高了工作效率!

今天我们就来教大家如何使用python批量压缩备份文件吧!




1.首先打开你想批量备份的文件,可以看到文件很多,备份不易:


Python备份模块 备份列表python_python 批量创建列表


2.导入zipfile,这个是用来做压缩和解压的Python模块;

导入os模块,主要是获取文件路径,创建文件等操作;

导入time模块,主要是用来获取当前的日期:

import zipfile

import os

import time

3.指定需要压缩的文件夹路径(其内的每一个文件都会被压缩并保存在指定的目的地文件夹);

需要说明的是字符串前面的字母 r是用来防转义的,也就是说字符串中的斜杠只是单纯的斜杠不是转义字符。

start_dir = r"C:UsersadminDesktop批量备份打包压缩测试"

4.指定用来存放压缩文件的目的地文件夹,该文件夹下会根据压缩日期创建子文件夹:

target_dir = r"C:UsersadminDesktop批量备份打包备份目的地文件夹"

5.在目的地文件夹下创建子文件夹,当然目前只是一个代表路径的字符串,真正创建文件夹需要os.mkdir(today);

os.sep 代表在路径中的一个 ;

其中time.strftime('%Y%m%d') 代表当前的年月日,%Y代表年,%m代表月份,%d代表日期:

today = target_dir + os.sep + time.strftime('%Y%m%d')

6.如果当前日期的文件夹不存在那么就创建一个,如果存在就不需要创建了:

if not os.path.exists(today):

os.mkdir(today)

print('Successfully created directory', today)

7.取出start_dir文件夹下的每个文件进行压缩备份;

os.listdir(start_dir)是start_dir文件夹下的每个文件的名字构成的列表:

for item in os.listdir(start_dir):

8.在目的地文件夹下创建压缩后文件夹的名字,例如"C:UsersadminDesktop批量备份打包备份目的地文件夹201910081.txt.zip":

file_news = today+os.sep+item+'.zip'

9.通过对象对file_news进行写入操作,file_news代表的是压缩文件名,'w'代表写入文件:

z = zipfile.ZipFile(file_news,'w') #参数一:文件夹名

10.从开始文件夹里面拿出文件,写入到对象z;

start_dir+os.sep+item代表的是要写入z的文件是哪一个;

item代表的是只写入文件本身而不包含其完整的路径:

z.write(start_dir+os.sep+item,item)

11.完成写入后关闭z对象,报告显示item压缩成功:

z.close()

print(item)

print ('压缩成功')

12.压缩结果:


Python备份模块 备份列表python_字符串_02


这段代码是一套模板,不管有多少文件需要压缩备份,只需根据你的需要修改压缩备份的文件夹路径和目的地文件夹路径即可,一键实现批量文件压缩备份,是不是解放了更多时间,可以投入到更有意义的事情上呢?

Python同时拥有简单易用和功能强大的特性,能大大提高工作效率,因此吸引了越来越多职场人士学习,为业务赋能。