Python 如何获得一个回调函数,以便只定期打印某些内容?
该函数在我下载的每个文件块之后调用。如果文件相当大,我很快就会得到数百万行的输出。我想它打印一行后,每成功下载5%。如何执行此操作?您应该在方法之外创建另一个名为Python 如何获得一个回调函数,以便只定期打印某些内容?,python,callback,Python,Callback,该函数在我下载的每个文件块之后调用。如果文件相当大,我很快就会得到数百万行的输出。我想它打印一行后,每成功下载5%。如何执行此操作?您应该在方法之外创建另一个名为totalProgress的变量,并将其初始化为0。然后您可以执行global totalProgress,就像您对global sizewrited所做的那样 然后,您可以按如下方式进行操作: 你的代码 def callback(data): global sizeWritten file.write
totalProgress
的变量,并将其初始化为0。然后您可以执行global totalProgress
,就像您对global sizewrited
所做的那样
然后,您可以按如下方式进行操作:
你的代码
def callback(data):
global sizeWritten
file.write(data)
sizeWritten += len(data)
a = sizeWritten/totalSize*100
print("Downloading " + item + ":" + str(int(a)) + " %")
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