有没有办法直接将字符串写入tarfile?从http://docs.python.org/library/tarfile.html看起来,只能添加已写入文件系统的文件.
我的问题是一个跟进这一个。我想知道如何修改以下代码,以便分配压缩级别:
import os
import tarfile
home = '//global//scratch//chamar//parsed_data//batch0'
backup_dir = '//global//scratch//chamar//parsed_data//'
home_dirs = [ name for name in os.listdir(home) if os.path.isdir(os.path.join(home, name)) ]
for directory in home_dirs:
full_dir = os.path.join(home, directory)
tar = tarfile.open(os.path.join(backup_dir, directory+'.tar.gz'), 'w:gz')
tar.add(full_dir, arcname=directory)
tar.close()
Run Code Online (Sandbox Code Playgroud)
基本上,代码的作用是循环遍历目录中的每个目录batch0并压缩每个目录(每个目录中有6000多个文件),并tar.gz为中的每个目录创建一个压缩文件//global//scratch//chamar//parsed_data//。我认为默认情况下,压缩级别为= 9,但压缩需要大量时间。我不需要太多压缩。5级就足够了。如何修改上面的代码以包含压缩级别?