我一直致力于与数据处理有关的项目。 python应用程序中使用的格式是JSON。我有一个循环通过巨大的JSON文件并进行某种计算的任务。事实上,它可能需要花费很多时间才能显示这个过程的进展,我想出了一个小算法来计算。
代码示例是:
def update_progress_by_five(self, current, total):
five_percent_length = int(0.05 * total)
if five_percent_length > 0 and current % five_percent_length == 0:
progress = 5 * current / five_percent_length
progress = 100 if progress > 100 else progress
print("Progress", progress)
self.task.set_progress(progress)
它几乎适用于平均JSON文件,但有些情况发生在进度未达到100且我不明白为什么的情况下。它只是在95停止,并且它就是它的所有内容。
答案 0 :(得分:0)
问题是0.05 * total
的结果是浮点数意味着整个文件长度不能被int(0.05 * total)
整除,换句话说
在最终调用中,当current等于total时,current % five_percent_length == 0
永远不会计算为true。添加条件以在current==total