用python压缩文件
自从决定每周开始写技术文章以来,自己确实有一些变化,今天比较晚了,就写一个python的小功能吧,用Python来实现压缩功能。
用zipfile实现
ZipFile是Python中用于读取和创建ZIP文件的第三方库。它提供了一个接口来处理ZIP格式的归档文件,包括创建、读取、写入、添加和列出ZIP文件中的文件。
import os
import zipfile
def my_zip_function(zip_file_name, zip_file_list=[], zip_dir_list=[]):
with zipfile.ZipFile(zip_file_name, "w") as zip_obj:
# 压缩文件
for tmp_file in zip_file_list:
zip_obj.write(tmp_file, arcname=os.path.basename(tmp_file))
# 压缩目录
for tmp_dir in zip_dir_list:
# zipfile没有直接压缩目录的功能,要压缩目录只能遍历目录一个一个文件压。
for root, dirs, files in os.walk(tmp_dir):
# 如果想要目录为空时仍将该目录压缩进去,该目录也要压缩一遍;反之请将以下行注释掉
zip_obj.write(root)
for tmp_file in files:
# 拼接文件完整目录,不然只用文件名代码找不到文件
tmp_file_path = os.path.join(root, tmp_file)
zip_obj.write(tmp_file_path, arcname=tmp_file)
备注:
- 加arcname是为了防止压缩之后的文件存在多重目录
- zipfile只能根据文件进行压缩,如果需要压缩目录中的所有文件,需要对目录进行遍历
更直观的方式
发挥Python胶水语言的特性,如果这个文件压缩的脚本是在Linux上的,那么只要用python调上一层shell命令就好了,大道至简,只用两行代码,也可以实现用zip压缩的功能,直接上代码。
import os
os.system(f'zip {output}.zip {input}')
以上命令如果返回找不到zip包,则需要在系统上先安装zip包。
yum install -y zip
除此之外,linux系统还提供了诸如gzip、tar等其他压缩方式,同样地,只要用python封装一下就可以了。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbbfke
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01