gpt4 book ai didi

Python tarfile 进度

转载 作者:太空狗 更新时间:2023-10-30 02:14:00 32 4
gpt4 key购买 nike

在将文件添加到 python 中的 tar 存档时,是否有任何库可以显示进度,或者可以扩展 tarfile 模块的功能来执行此操作?

在理想情况下,我想展示 tar 创建的总体进度以及关于何时完成的预计到达时间。

如有任何帮助,我们将不胜感激。

最佳答案

不幸的是,看起来没有一种简单的方法可以逐字节获取数字。

您要向这个 tar 文件中添加非常大的文件吗?如果没有,我会逐个文件地更新进度,以便在将文件添加到 tar 时,进度会根据每个文件的大小进行更新。

假设您所有的文件名都在变量 toadd 中并且 tarfile 是一个 TarFile 对象。怎么样,

from itertools import imap
from operator import attrgetter
# you may want to change this depending on how you want to update the
# file info for your tarobjs
tarobjs = imap(tarfile.getattrinfo, toadd)
total = sum(imap(attrgetter('size'), tarobjs))
complete = 0.0
for tarobj in tarobjs:
sys.stdout.write("\rPercent Complete: {0:2.0d}%".format(complete))
tarfile.add(tarobj)
complete += tarobj.size / total * 100
sys.stdout.write("\rPercent Complete: {0:2.0d}%\n".format(complete))
sys.stdout.write("Job Done!")

关于Python tarfile 进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718588/

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