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中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python生成圆形图片的方法
Mar 25 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
python 字典访问的三种方法小结
Dec 05 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
Python类继承和多态原理解析
Feb 05 Python
基于python实现破解滑动验证码过程解析
May 28 Python
python打开文件的方式有哪些
Jun 29 Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 23 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
Destoon模板制作简明教程
2014/06/20 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
JavaScript的函数式编程基础指南
2016/03/19 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
js实现tab栏切换效果
2020/08/02 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
python之super的使用小结
2018/08/13 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
详解Django配置优化方法
2019/11/18 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
介绍一下MD5加密算法
2016/11/12 面试题
毕业自荐书
2013/12/09 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
化工专业自荐书
2014/06/16 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android