Python 解压缩 7z 压缩包 (python.7z) 并实时显示进度
以下是一个使用 Python 标准库中的 tarfile 模块解压缩后缀名为 'python.7z' 的压缩包,并实时显示进度的例子:
import tarfile
import os
filename = 'python.7z'
output_folder = 'C:\'
with tarfile.open(filename, 'r:xz') as tar:
# 获取压缩包中文件总数
total_files = len(tar.getmembers())
# 遍历压缩包中的所有文件,解压缩到 output_folder
for i, member in enumerate(tar.getmembers()):
tar.extract(member, output_folder)
# 计算解压缩进度并输出到控制台
progress = (i + 1) / total_files
print(f'Extraction progress: {progress:.2%}', end='
')
print('Extraction completed!')
这里使用了 tarfile 模块来解压缩文件,因为 7z 格式的压缩包也可以通过该模块进行解压缩。代码中的 r:xz 参数表示使用 xz 解压缩器来解压缩文件。
压缩包中的文件总数可以通过 len(tar.getmembers()) 获取,遍历压缩包中的所有文件时,可以通过 enumerate() 函数获取当前文件的索引,从而计算出解压缩进度。最后通过 print() 函数将进度输出到控制台, end=' ' 表示不换行,覆盖上一次输出,从而实现实时更新进度。
解压缩完成后,输出 'Extraction completed!'。
原文地址: https://www.cveoy.top/t/topic/oif4 著作权归作者所有。请勿转载和采集!