gpt4 book ai didi

Python:为 tarfile 分配压缩级别

转载 作者:行者123 更新时间:2023-11-28 21:56:23 31 4
gpt4 key购买 nike

我的问题是对这个 one 的跟进.我想知道如何修改以下代码以便分配压缩级别:

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()

基本上,代码所做的是遍历 batch0 中的每个目录并压缩每个目录(每个目录中有 6000 多个文件)并创建一个 tar.gz //global//scratch//chamar//parsed_data// 中每个目录的压缩文件。我认为默认情况下压缩级别为 = 9,但压缩需要很多时间。我不需要很多压缩。 5级就够了。如何修改上述代码以包含压缩级别?

最佳答案

有一个 compresslevel 属性可以传递给 open()(不需要直接使用 gzopen()):

tar = tarfile.open(filename, "w:gz", compresslevel=5)

来自gzip documentation , compresslevel 可以是 1 到 9 之间的数字(9 是默认值),1 是最快和最少压缩的,9 是最慢和最多压缩的。

[另见:tarfile documentation ]

关于Python:为 tarfile 分配压缩级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21540687/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com