python程序中压缩文件(windows)

需求描述

由于需要在程序中使用压缩(打包)功能,为了不影响用户正常使用(即不弹出额外的压缩页面),而有了该需求。在linux下可以直接用tar,但是在windows下,因为不知道目标人群使用的到底是那种win,无法确定能否使用tar(win10可以,win10还可以使用管道符,curl等,忍不住安利了一下win10, please forgive me.)

体验过程

在2016年暑假,我用过haozip的命令行工具(HaoZipC.exe),当年是在自己电脑上搞得,安装了2345好压。

1. 尝试HaoZipC.exe

例如:把dir下的所有文件(夹)加入到zip.zip文件中,文件目录不变。
HaoZipC.exe a zip.zip u dir\*

说明:
看HaoZipC.exe的说明文件(直接命令行运行>HaoZipC.exe)。
可以重命名HaoZipC.exe 为zip.exe
可以使用了,问题解决了???
No…,当我把重命名后的zip.exe拷贝到新的机器上时,运行报错了:
WAF(这是下图的描述!)
What a Fuck!
接着百度很多下,终于在如下网址找到了如下的办法:
https://bbs.csdn.net/topics/290010213?depth_1-utm_source=distribute.pc_relevant.none-task-discussion_topic-BlogCommendFromBaidu-8&utm_source=distribute.pc_relevant.none-task-discussion_topic-BlogCommendFromBaidu-8

在这里插入图片描述

2. 既然有大侠给出了方法,不妨一试

依然是刚才的123,321,132…

makecab 123.txt 13.zip

。。。后续不试了,因为他不能把一个目录一次打包(但貌似用shell脚本的循环可以,没有研究)

3.但我需要的是压缩(打包)文件夹

由于使用的是Python,搜索“python 压缩”,终于找到一个神器:shutil.make_archive()

import shutil
shutil.make_archive(base_name=r"C:\Users\xxx\Documents\123", format='zip', root_dir=r"C:\Users\xxx\Desktop\123")
# base_name: 文件路径+文件名
# format:文件格式
# root_dir: 是您想压缩的文件夹
# 。。。。。接下来自由发挥

完整参考:https://www.yinyubo.cn/?p=228

4.win下还可以使用vbs进行压缩

参考:https://blog.csdn.net/msccreater/article/details/9242277
我就不搬代码了,反正也没啥创新,都是抄的。

我的需求到此基本结束,谢谢大家 观看!

总结

不知从那天开始,不知到那一天止,这世界突然间不美丽。因为我要开始写总结!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值