Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法

yipeiwu_com5年前Python基础

本文实例讲述了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笔记(1) 关于我们应不应该继续学习python

以前面试的时候会被问到,linux熟不熟呀?对于这种问题:我总会尴尬地回答,“额..了解一点”。   然而,我大学毕业的时候,连linux的虚拟机都没装过,更别提系统熟不熟悉了。虽然我了...

Hadoop中的Python框架的使用指南

Hadoop中的Python框架的使用指南

 最近,我加入了Cloudera,在这之前,我在计算生物学/基因组学上已经工作了差不多10年。我的分析工作主要是利用Python语言和它很棒的科学计算栈来进行的。但Apache...

精确查找PHP WEBSHELL木马的方法(1)

精确查找PHP WEBSHELL木马的方法(1)

先来看下反引号可以成功执行命名的代码片段。代码如下: 复制代码 代码如下: `ls -al`; `ls -al`; echo "sss"; `ls -al`; $sql = "SELEC...

Python测试线程应用程序过程解析

这篇文章主要介绍了Python测试线程应用程序过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在本章中,我们将学习线程应用程序...

Python实现购物系统(示例讲解)

Python实现购物系统(示例讲解)

要求: 用户入口 1、商品信息存在文件里 2、已购商品,余额记录。 商家入口 可以添加商品,修改商品价格 Code: 商家入口: # Author:P J J import os...