tarfile模块直接连目录带其下的所有子目录与文件全部压缩,非常方便。
代码来自http://hi.baidu.com/tinylee/blog/item/2d31770979d6caad2fddd4a5.html
import tarfile, os
def make_tar(folder_to_backup, dest_folder, compression='bz2'):
if compression:
dest_ext = '.' + compression
else:
dest_ext = ''
arcname = os.path.basename(folder_to_backup)
dest_name = '%s.tar%s' % (arcname, dest_ext)
dest_path = os.path.join(dest_folder, dest_name)
if compression:
dest_cmp = ':' + compression
else:
dest_cmp = ''
out = tarfile.TarFile.open(dest_path, 'w'+dest_cmp)
out.add(folder_to_backup, arcname)
out.close( )
return dest_path
make_tar("d:\\tools\\python", "d:\\")