今晚学习压缩文件和文件夹。zipfile模块。
- 用glob遍历文件
例:123文件夹有子文件夹234。压缩文件夹123。
备注:
#用glob遍历文件,压缩结果生成了空的压缩文件。这种方法要确保文件夹里面没有子目录。删除子目录后,即可压缩成功。
#write方法参数,至少要提供三个。第一个是要添加压缩的路径文件名,第二个是文件名,第三个参数是固定的,表示压缩。缺省值是不压缩。
#第二个参数即使是带路径的文件名,好像也没有区别,我的电脑是mac,看不出来区别。记得用win看看效果。第二个参数必须有,否则报错。
2.用os.walk遍历压缩文件
备注:
#压缩成功了。压缩包里包含所有文件。但是,并没有按原有子目录排放。
#文件不少,但是没有234文件夹。
#walk就是将当前目录下,包括子目录下的所有文件弄出来,然后打包成一个压缩包。不是按照原有目录压缩,这个结果很讨厌。
3.用shutil.make_archive压缩。
备注:
#要啥有啥,齐活了。
#第一个参数是压缩包的名字,第二个参数压缩类型,第三个参数是要压缩的文件夹。这三个参数够用了。
一条语句就搞定的事情,为什么还要学习zipfile呢?