Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法


Posted in Python onMay 22, 2015

本文实例讲述了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法。分享给大家供大家参考。具体实现方法如下:

# 这里将一个文件树中的所有文件和子目录归档到一个tar归档文件,然后压缩 
import tarfile, os 
# compression表示压缩算法,gz表示gzip颜色,bz2表示bzip2压缩,
# 空字符串表示不压缩 
# folder_to_backup: 要归档的文件夹 
# dest_folder 表示目标文件夹 
def make_tar(folder_to_backup, dest_folder, compression = 'bz2'):
  # dest_ext 表示扩展名 
  if compression: 
    dest_ext = '.' + compression 
  else: 
    dest_ext = '' 
  arc_name = os.path.basename(folder_to_backup) 
  # dest_name 为目标文件名,dest_path 为目标文件路径 
  dest_name = '%s.tar%s' % (arc_name, dest_ext) 
  dest_path = os.path.join(dest_folder, dest_name) 
  # 压缩方法决定了open的第二个参数是 "w", 或"w:gz", 或"w:bz2"
  if compression: 
    dest_cmp = ':' + compression 
  else: 
    dest_cmp = ''
  out = tarfile.TarFile.open(dest_path, 'w' + dest_cmp)
  out.add(folder_to_backup, arc_name)
  out.close() 
  return dest_path 
dest_path = make_tar('d:/8 file_system', 'd:/') 
print(dest_path)

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

Python 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
Python 使用with上下文实现计时功能
Mar 09 Python
python实现梯度下降算法
Mar 24 Python
设置python3为默认python的方法
Oct 31 Python
pytorch permute维度转换方法
Dec 14 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
pandas数据处理进阶详解
Oct 11 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
Python读写压缩文件的方法
Jul 30 Python
python通过新建环境安装tfx的问题
May 20 Python
Python3读取zip文件信息的方法
May 22 #Python
Python中用altzone()方法处理时区的教程
May 22 #Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 #Python
python从网络读取图片并直接进行处理的方法
May 22 #Python
python实现统计代码行数的方法
May 22 #Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 #Python
python使用PIL模块实现给图片打水印的方法
May 22 #Python
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
javascript中强制执行toString()具体实现
2013/04/27 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
python下os模块强大的重命名方法renames详解
2017/03/07 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
python爬虫超时的处理的实例
2018/12/19 Python
python中open函数的基本用法示例
2019/09/07 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
django rest framework serializers序列化实例
2020/05/13 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
投标单位介绍信
2014/01/09 职场文书
社区食品安全实施方案
2014/03/28 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
学子宴致辞大全
2015/07/27 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python