def callback(data):
global sizeWritten
file.write(data)
sizeWritten += len(data)
a = sizeWritten/totalSize*100
print("Downloading " + item + ":" + str(int(a)) + " %")
在我下载的每个文件块之后调用此函数。如果文件相当大,我很快会得到数百万行输出。我想在每次成功下载5%后打印一行。我该怎么做?
答案 0 :(得分:1)
您应该在方法之外创建另一个名为totalProgress
的变量,并将其初始化为0.然后,您可以像global totalProgress
一样执行global sizeWritten
。
然后你可以这样做:
totalProgress = 0.0 #this is a percentage value
def callback(data):
global sizeWritten
global totalProgress
file.write(data)
sizeWritten += len(data)
a = (sizeWritten/totalSize)*100.0
if a - totalProgress > 5.0:
print("Downloading " + item + ":" + str(int(a)) + " %")
totalProgress = a