python:压缩文件和文件夹(zipfile、shutil.make_archive)

今晚学习压缩文件和文件夹。zipfile模块。

    • glob遍历文件

例:123文件夹有子文件夹234。压缩文件夹123。

python:压缩文件和文件夹(zipfile、shutil.make_archive)_第1张图片
python:压缩文件和文件夹(zipfile、shutil.make_archive)_第2张图片

备注:

#用glob遍历文件,压缩结果生成了空的压缩文件。这种方法要确保文件夹里面没有子目录。删除子目录后,即可压缩成功。

#write方法参数,至少要提供三个。第一个是要添加压缩的路径文件名,第二个是文件名,第三个参数是固定的,表示压缩。缺省值是不压缩。

#第二个参数即使是带路径的文件名,好像也没有区别,我的电脑是mac,看不出来区别。记得用win看看效果。第二个参数必须有,否则报错。


2.用os.walk遍历压缩文件

python:压缩文件和文件夹(zipfile、shutil.make_archive)_第3张图片

python:压缩文件和文件夹(zipfile、shutil.make_archive)_第4张图片

备注:

#压缩成功了。压缩包里包含所有文件。但是,并没有按原有子目录排放。

#文件不少,但是没有234文件夹。

#walk就是将当前目录下,包括子目录下的所有文件弄出来,然后打包成一个压缩包。不是按照原有目录压缩,这个结果很讨厌。


3.用shutil.make_archive压缩。

python:压缩文件和文件夹(zipfile、shutil.make_archive)_第5张图片
python:压缩文件和文件夹(zipfile、shutil.make_archive)_第6张图片

备注:

#要啥有啥,齐活了。

#第一个参数是压缩包的名字,第二个参数压缩类型,第三个参数是要压缩的文件夹。这三个参数够用了。


一条语句就搞定的事情,为什么还要学习zipfile呢?

你可能感兴趣的:(python)