Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
作者:work24 发布时间:2022-11-29 08:22:38
标签:Python,tar,压缩
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- zip()的作用先看一下语法:zip(iter1 [,iter2 [...]]) —> zip objectPython的内置help
- 1、$nextTickvm.$nextTick( [callback] )this.$nextTick()将回调延迟到下次 DOM 更新循环
- 网上商城数据库-用户信息数据操作项目描述在电子商务兴起的大环境下,建立利用互联网开拓销售渠道,帮助企业及时调整商品结构,协助经销商打开货源的
- 前言控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录。参数文件
- 失败的原因1.如果你原先安装过MySQL,后来卸载了再安装失败了,有可能是卸载不干净。需要手动目录删光所有MySQL相关的文件。这一点MyS
- global 标识用于在函数内部,修改全局变量的值。我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:变量定义在全局作用
- 前言Pythonnet这个 * 爆的项目的出现,使得我们可以用一种新的方式,让C#可以和Python之间进行互操作。但是它的设置和部署可能有点问
- 1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3N
- [1]定义:正则又叫规则或模式,是一个强大的字符串匹配工具,在javascript中是一个对象[2]特性:[2.1]贪婪性,匹配最长的[2.
- 上节我们了解了图形验证码的识别,简单的图形验证码我们可以直接利用 Tesserocr 来识别,但是近几年又出现了一些新型验证码,如滑动验证码
- 前言我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图、柱状图、饼图、直方图等统计图表的相关方法
- 前言对于前端项目而言,ESLint 可以检查代码,统一代码风格,避免不必要的错误。在 vue3 中配置 ESLint,如下所示。环境vite
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使
- Python来进行查询和替换一个文本字符串?可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, s
- 1. 标签{% 标签 %}1.1 for循环标签<ul><!-- 可迭代对象都可以用循环 --><!-- 循环
- 1 简介在日常运行程序的过程中常常涉及到循环迭代过程,对于执行时间很短的程序来说倒无所谓,但对于运行过程有明显耗时的涉及循环迭代的程序,为其
- 在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在2003年I
- 一、匿名块和命名块◆PL/SQL块分为良好总:命名块和匿名块。◆匿名块:以declare或begin开始,每次执行匿名块都要通过客户端工具将
- 本文实例讲述了python实现在sqlite动态创建表的方法。分享给大家供大家参考。具体实现方法如下:import sqlite3 as d
- 前言:由于公司使用钉钉,之前告警都是使用邮箱,但是这种协同效率比较低,所以调用钉钉机器人来实现实时告警。创建机器人:创建钉钉群,然后添加群机