Python打包文件夹的方法小结(zip,tar,tar.gz等)


Posted in Python onSeptember 18, 2016

本文实例讲述了Python打包文件夹的方法。分享给大家供大家参考,具体如下:

一、zip

import os, zipfile
#打包目录为zip文件(未压缩)
def 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()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
在Python中操作字典之update()方法的使用
May 22 Python
Django Highcharts制作图表
Aug 27 Python
Python爬取三国演义的实现方法
Sep 12 Python
python的中异常处理机制
Aug 30 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
Python文件循环写入行时防止覆盖的解决方法
Nov 09 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
详解Python3定时器任务代码
Sep 23 Python
python如何将两张图片生成为全景图片
Mar 05 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 #Python
Python简单获取自身外网IP的方法
Sep 18 #Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 #Python
Python3实现并发检验代理池地址的方法
Sep 18 #Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 #Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 #Python
Python基于pillow判断图片完整性的方法
Sep 18 #Python
You might like
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
Python request操作步骤及代码实例
2020/04/13 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
互联网创业计划书的书写步骤
2014/01/28 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
公司聚餐通知
2015/04/22 职场文书
《日月潭》教学反思
2016/02/20 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript