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

yipeiwu_com7年前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实现一个简单的银行转账操作

基于Python实现一个简单的银行转账操作

前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。而且在实际开发中,数据库的操作也就是说数据访...

Flask配置Cors跨域的实现

Flask配置Cors跨域的实现

1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访...

python实现telnet客户端的方法

本文实例讲述了python实现telnet客户端的方法。分享给大家供大家参考。具体如下: python实现的telnet客户端程序,python自带一个telnetlib模块,可以通过其...

python使用post提交数据到远程url的方法

本文实例讲述了python使用post提交数据到远程url的方法。分享给大家供大家参考。具体如下: import sys, urllib2, urllib zipcode = "S2...

python模块简介之有序字典(OrderedDict)

有序字典-OrderedDict简介 示例 有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子: import collect...