循环遍历JSON文件的进度计算器

时间:2017-07-20 05:48:18

标签: python json algorithm

我一直致力于与数据处理有关的项目。 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停止,并且它就是它的所有内容。

1 个答案:

答案 0 :(得分:0)

问题是0.05 * total的结果是浮点数意味着整个文件长度不能被int(0.05 * total)整除,换句话说 在最终调用中,当current等于total时,current % five_percent_length == 0永远不会计算为true。添加条件以在current==total

时将进度设置为100%