打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用python一键批量压缩&备份文件,不必再用鼠标点点点
很多人会定期压缩备份一下自己的文件,但每次一个个文件压缩移动很麻烦,整理耗时又费力。
面对这些问题,只要用Python的zipfile包,几句代码就够了,大大提高了工作效率!
今天我们就来教大家如何使用python批量压缩备份文件吧!
1.首先打开你想批量备份的文件,可以看到文件很多,备份不易:
在这里插入图片描述
2.导入zipfile,这个是用来做压缩和解压的Python模块;
导入os模块,主要是获取文件路径,创建文件等操作;
导入time模块,主要是用来获取当前的日期:
import zipfileimport osimport time
3.指定需要压缩的文件夹路径(其内的每一个文件都会被压缩并保存在指定的目的地文件夹);
需要说明的是字符串前面的字母 r是用来防转义的,也就是说字符串中的斜杠只是单纯的斜杠不是转义字符。
start_dir = r"C:\Users\admin\Desktop\批量备份打包\压缩测试"
4.指定用来存放压缩文件的目的地文件夹,该文件夹下会根据压缩日期创建子文件夹:
target_dir = r"C:\Users\admin\Desktop\批量备份打包\备份目的地文件夹"
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.如果当前日期的文件夹不存在那么就创建一个,如果存在就不需要创建了:
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''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:\Users\admin\Desktop\批量备份打包\备份目的地文件夹\20191008\1.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压缩成功:
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''z.close() print(item) print ('压缩成功')
12.压缩结果:
在这里插入图片描述
这段代码是一套模板,不管有多少文件需要压缩备份,只需根据你的需要修改压缩备份的文件夹路径和目的地文件夹路径即可,一键实现批量文件压缩备份,是不是解放了更多时间,可以投入到更有意义的事情上呢?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python学习笔记 | 办公自动化基础之文件和文件夹操作
Windows系统下Python压缩和解压文件、文件夹操作
Python 文件与目录操作方法总结
Python处理办公自动化的10大场景!
文件腾转挪移操作,那都不是事儿
读《Python编程快速上手 让繁琐工作自动化》笔记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服