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 相关文章推荐
python实现sublime3的less编译插件示例
Apr 27 Python
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
Python requests发送post请求的一些疑点
May 20 Python
python读取TXT每行,并存到LIST中的方法
Oct 26 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
django 外键创建注意事项说明
May 20 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
Aug 04 Python
python 如何调用远程接口
Sep 11 Python
python使用yaml 管理selenium元素的示例
Dec 01 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设计模式 FlyWeight (享元模式)
2011/06/26 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
js实现日历的简单算法
2017/01/24 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
深入Python函数编程的一些特性
2015/04/13 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
使用matplotlib画散点图的方法
2018/05/25 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
团拜会策划方案
2014/06/07 职场文书
机械专业求职信范文
2014/07/15 职场文书
公司借条范本
2015/05/25 职场文书
初中生物教学随笔
2015/08/15 职场文书
解析Java异步之call future
2021/06/14 Java/Android