博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python打包文件夹的方法tar、zip
阅读量:4200 次
发布时间:2019-05-26

本文共 1017 字,大约阅读时间需要 3 分钟。

打包目录为zip文件(未压缩)

import os, zipfiledef make_zip(source_dir, output_filename):  zipf = zipfile.ZipFile(output_filename, 'w')  pre_len = len(os.path.dirname(source_dir))  for parent, dirnames, filenames in os.walk(source_dir):    for filename in filenames:      pathfile = os.path.join(parent, filename)      arcname = pathfile[pre_len:].strip(os.path.sep)   #相对路径      zipf.write(pathfile, arcname)  zipf.close()

tar/tar.gz 一次性打包整个根目录,空子目录会被打包。

import os, tarfile#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。def make_targz(output_filename, source_dir):  with tarfile.open(output_filename, "w:gz") as tar:    tar.add(source_dir, arcname=os.path.basename(source_dir))#逐个添加文件打包,未打包空子目录。可过滤文件。#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。def make_targz_one_by_one(output_filename, source_dir):  tar = tarfile.open(output_filename,"w:gz")  for root,dir,files in os.walk(source_dir):    for file in files:      pathfile = os.path.join(root, file)      tar.add(pathfile)  tar.close()

测试

压缩本地文件夹测试;

zip压缩耗时0.12秒;
tar压缩耗时0.14秒;
tar.gz 压缩耗时 0.88秒;
数据仅供参数。

转载地址:http://mqfli.baihongyu.com/

你可能感兴趣的文章
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
yii2 用命令行操作web下的controller
查看>>
yii2 console的使用
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb fulltextsearch 关于语言的设置选项
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
yourls 短连接 安装
查看>>
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
查看>>
softlayer 端口开放
查看>>
操作1:mongodb安装
查看>>
操作2:mongodb使用语法
查看>>
如何给分类增加一个属性(后台)
查看>>
linux设置环境变量 临时设置 和 永久设置
查看>>
检查网站在世界各地的打开速度
查看>>
jquery 向上(顶部),向下(底部)滑动
查看>>