可以使用以下代码来按大小降序从Tar档案中提取3个最小的文件:
import tarfile
def extract_smallest_files(tar_file, num_files):
smallest_files = []
with tarfile.open(tar_file, 'r') as tar:
file_list = tar.getmembers()
file_list.sort(key=lambda x: x.size) # 按文件大小排序
for i in range(num_files):
file = file_list[i]
tar.extract(file) # 提取文件
smallest_files.append(file.name)
return smallest_files
tar_file = 'example.tar'
num_files = 3
smallest_files = extract_smallest_files(tar_file, num_files)
print(smallest_files)
这段代码首先打开Tar档案文件,然后使用getmembers()
方法获取文件列表,并使用sort()
方法按文件大小进行排序。
接下来,使用一个循环来提取排序后的前3个最小文件,并将它们的文件名添加到smallest_files
列表中。
最后,将smallest_files
列表打印出来。
请注意,上述代码仅适用于Tar档案文件。如果要处理其他类型的档案文件,可能需要使用不同的库或方法。
下一篇:按大小顺序列出列表。