(原创)python zipfile实现压缩整个目录和子目录
2017-04-01 12:53
931 查看
python zipfile实现压缩整个目录和子目录
zipfile背景简介
核心原理DFS
代码实现
细节性的内容可以查看zipfile的文档
zipfile文档
这里先介绍几个简单的方法
zipfile背景简介
核心原理DFS
代码实现
python zipfile实现压缩整个目录和子目录
zipfile背景简介
zipfile是python提供的一个简单高效的模块。可以用很迅速的方法来进行文件压缩和解压的过程。细节性的内容可以查看zipfile的文档
zipfile文档
这里先介绍几个简单的方法
f = zipfile.ZipFile(output_path,'w',zipfile.ZIP_DEFLATED) #参数说明:第一个参数为输出的路径,文件读写,压缩方式 f.write(path) #path是相对路径 f.close() #一个关键方法,只有调用了close之后才会保证完成压缩
核心原理DFS
利用的是对目录进行深度优先遍历,首先把第一级目录中的文件进行遍历,如果是文件,则把它连同当前路径一起加入result(list),如果是子目录,则在整个目录上继续DFS。直到所有的文件都被加入。代码实现
def dfs_get_zip_file(input_path,result): # files = os.listdir(input_path) for file in files: if os.path.isdir(input_path+'/'+file): dfs_get_zip_file(input_path+'/'+file,result) else: result.append(input_path+'/'+file) def zip_path(input_path,output_path,output_name): f = zipfile.ZipFile(output_path+'/'+output_name,'w',zipfile.ZIP_DEFLATED) filelists = [] dfs_get_zip_file(input_path,filelists) for file in filelists: f.write(file) f.close() return output_path+r"/"+output_name if __name__ == '__main__': &nbs 4000 p; zip_path(r"./working",'D:','wok.zip')
相关文章推荐
- 利用SharpZipLib实现实时zip压缩下载整个目录
- python的zipfile实现文件目录解压缩
- python基础-文件目录压缩(zipfile模块)
- 在python中使用zipfile压缩文件时层级很多,有很多层目录,但是需要去除这些层级目录
- python zipfile压缩解压缩目录
- 利用SharpZipLib实现实时zip压缩下载整个目录
- java实现zip压缩多个目录及子目录和文件
- 利用SharpZipLib实现实时zip压缩下载整个目录
- 在目录及其子目录下寻找匹配的文件的python实现
- 002_011 Python 将整个目录压缩为Tar文件,并指定压缩方式如gz,bz2
- 【转】python的zipfile压缩、解压缩
- python实现复制整个目录的方法
- python自动zip压缩目录的方法
- 用VBScript实现Zip压缩目录中的所有文件
- C#实现Zip压缩目录中所有文件的方法
- python自动zip压缩目录的方法
- 用Java实现ZIP压缩文件和目录程序代码
- python用zipfile模块打包文件或是目录、解压zip文件实例
- SharpZipLib实现压缩多个文件或整个目录
- Python实现 zip解压缩到指定目录