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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
python Pandas 读取txt表格的实例
Apr 29 Python
Python中遍历列表的方法总结
Jun 27 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
python全栈开发语法总结
Nov 22 Python
python中Mako库实例用法
Dec 31 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
解析thinkphp的左右值无限分类
2013/06/20 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
python实现倒计时的示例
2014/02/14 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
怎样让char类型的东西转换成int类型
2013/12/09 面试题
销售行政专员职责
2014/01/03 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
学生请假条
2014/04/11 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
初中家长评语和期望
2014/12/26 职场文书
学生保证书格式
2015/02/27 职场文书
红色故事汇观后感
2015/06/18 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python