700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python打包文件夹(zip/tar/tar.gz)

Python打包文件夹(zip/tar/tar.gz)

时间:2020-05-21 09:15:20

相关推荐

Python打包文件夹(zip/tar/tar.gz)

Code tells all:

一、zip

importos,zipfile#打包目录为zip文件(未压缩)defmake_zip(source_dir,output_filename):zipf=zipfile.ZipFile(output_filename,'w')pre_len=len(os.path.dirname(source_dir))forparent,dirnames,filenamesinos.walk(source_dir):forfilenameinfilenames:pathfile=os.path.join(parent,filename)arcname=pathfile[pre_len:].strip(os.path.sep)#相对路径zipf.write(pathfile,arcname)zipf.close()

二、tar/tar.gz

importos,tarfile#一次性打包整个根目录。空子目录会被打包。#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。defmake_targz(output_filename,source_dir):withtarfile.open(output_filename,"w:gz")astar:tar.add(source_dir,arcname=os.path.basename(source_dir))#逐个添加文件打包,未打包空子目录。可过滤文件。#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。defmake_targz_one_by_one(output_filename,source_dir):tar=tarfile.open(output_filename,"w:gz")forroot,dir,filesinos.walk(source_dir):forfileinfiles:pathfile=os.path.join(root,file)tar.add(pathfile)tar.close()

相关阅读:

1、zipfile — Work with ZIP archives

2、tarfile — Read and write tar archive files

3、Python压缩/解压gzip大文件

*** walker ***

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。