"将多个文件夹中文件压缩存储为zip、压缩文件内容提取值指定的文件夹、获取文件md" 的3个 Python 功能脚本
0x00 脚本说明
以下包含3个功能函数,分别是将多个文件夹中文件压缩存储为zip、压缩文件内容提取值指定的文件夹、获取文件md5。
0x01 功能代码
import os
import zipfile
import hashlib
# 将多个文件夹中文件压缩存储为zip
def file2zip(zip_file_name: str, file_names: list):
"""
:param zip_file_name: /root/Document/test.zip
:param file_names: ['/root/user/doc/test.txt', ...]
"""
with zipfile.ZipFile(zip_file_name, mode='w', compression=zipfile.ZIP_DEFLATED) as zf:
for fn in file_names:
parent_path, name = os.path.split(fn)
zf.write(fn, arcname=name)
# 压缩文件内容提取值指定的文件夹
def zip2file(zip_file_name: str, extract_path: str, members=None, pwd=None):
"""
:param zip_file_name: 待解压的文件 .zip r'D:\Desktop\tst.zip'
:param extract_path: 提取文件保存的目录 r'D:\Desktop\tst\test\test'
:param members: 指定提取的文件,默认全部
:param pwd: 解压文件的密码
"""
with zipfile.ZipFile(zip_file_name) as zf:
zf.extractall(extract_path, members=members, pwd=pwd)
# 获取文件md5
def get_file_md5(filepath):
with open(filepath, 'rb') as f:
md5obj = hashlib.md5()
md5obj.update(f.read())
hash = md5obj.hexdigest()
return hash
0x02 参考文章
https://blog.csdn.net/chichu261/article/details/106737620