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使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
python装饰器深入学习
Apr 06 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
Python中按键来获取指定的值
Mar 02 Python
python pycharm的安装及其使用
Oct 11 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
Add a Table to a Word Document
2007/06/15 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
Python with的用法
2014/08/22 Python
python实现ipsec开权限实例
2014/11/11 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python的常用模块之collections模块详解
2018/12/06 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
银行会计业务的个人自我评价
2013/11/02 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
村干部培训班主持词
2014/03/28 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
银行稽核岗位职责
2015/04/13 职场文书
家电创业计划书
2019/08/05 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
python 详解turtle画爱心代码
2022/02/15 Python
vue实现移动端div拖动效果
2022/03/03 Vue.js
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python