Zac*_*own 7 python zip progress monitor extraction
我需要解压缩.ZIP存档.我已经知道如何解压缩它,但它是一个巨大的文件,需要一些时间来解压缩.如何打印提取的完成百分比?我想要这样的东西:
Extracting File
1% Complete
2% Complete
etc, etc
Run Code Online (Sandbox Code Playgroud)
mou*_*uad 14
这里有一个你可以开始的例子,它没有优化:
import zipfile
zf = zipfile.ZipFile('test.zip')
uncompress_size = sum((file.file_size for file in zf.infolist()))
extracted_size = 0
for file in zf.infolist():
extracted_size += file.file_size
print "%s %%" % (extracted_size * 100/uncompress_size)
zf.extract(file)
Run Code Online (Sandbox Code Playgroud)
打印时要做得更漂亮:
print "%s %%\r" % (extracted_size * 100/uncompress_size),
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令监视每个文件的提取进度tqdm():
from zipfile import ZipFile
from tqdm import tqdm
# Open your .zip file
with ZipFile(file=path) as zip_file:
# Loop over each file
for file in tqdm(iterable=zip_file.namelist(), total=len(zip_file.namelist())):
# Extract each file to another directory
# If you want to extract to current working directory, don't specify path
zip_file.extract(member=file, path=directory)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |