首先给大家演示下zip文件的解压方法。
import zipfiledef zip_extract_to(path_zip, path_aim):'''作用:解压压缩包参数一:压缩包位置参数二:解压后的路径'''z = zipfile.ZipFile(path_zip, 'r')for p in z.namelist():z.extract(p, path_aim)z.close()# 要解压的zip文件路径path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'# 要解压到的位置path_aim = r'D:\lizhi\压缩测试'# 解压压缩包zip_extract_to(path_zip, path_aim)
效果演示:
这是压缩包之前的样式。
这是压缩包解压后的样式。
然后给大家看下zip文件的压缩过程,我的压缩方法可以直接压缩文件在当前目录下,并不把自己压缩进来,而且可以保留原来文件夹的目录结构。
import zipfileimport pathlibdef file_to_zip(path_original, path_zip):'''作用:压缩文件到指定压缩包里参数一:压缩文件的位置参数二:压缩后的压缩包'''# 提前读取,避免把压缩包自己加上去# 这里用list()做一个克隆提前执行下,不然会在后面循环时才执行这一引用,如果压缩包在这个路径下,会将它读取进来。f_list = list(pathlib.Path(path_original).glob("**/*"))z = zipfile.ZipFile(path_zip, 'w')for f in f_list:z.write(f, str(f)[len(path_original):])z.close()# 要压缩文件夹的位置path_original = r'D:\lizhi\压缩测试'# 压缩到指定路径下的zip文件path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'# 压缩文件file_to_zip(path_original, path_zip)
我把之前的压缩包删掉了,用那个driver文件夹重新进行压缩的,现在看到的是新生成的。
可以看到里面的结构跟我文件夹、目录的结构是一样的。
喜欢的点个赞❤吧!
Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示 python压缩本地文件夹为zip文件并保留目录结构