尝试x次后声明不存在值

时间:2019-01-12 11:27:50

标签: python json for-loop

我试图创建一个脚本,在该脚本中检查文本文件并检查x次尝试后值'names'是否包含名称。

目前,我已经设法创建了一个脚本来打开包含json格式的文本文件。我还添加了一个计数器,用于检查x次尝试后名称是否为空。它将声明为无名称。如果有值,它将打印出新名称。

('0012', '0012')
('0013', '0013')

我期望得到以下结果是,在没有检测到名称的情况下,我没有立即将其声明为“无名称”。我想每次向计数器添加一个,但是如果该计数器达到x数量的时间等,则为10次。然后声明它,因为文本文件中没有名称。但是,每次检测到添加的新名称时,它应该只打印一次所有名称,然后在x次之后继续查看名称是否为空。我想在每次找到新名称时重置计数器。只有长时间没有名字的人才算作没有新名字。

1 个答案:

答案 0 :(得分:0)

import json
import time

count = 0
last_names = []

while True:
    with open('./test.txt', 'r') as f:
        new_product_values = json.load(f)

    if not new_product_values['names']:
        count += 1
        time.sleep(1)
    elif new_product_values['names']!=last_names:
        print("NEW NAMES!")
        print(new_product_values['names'])
        last_names = new_product_values['names']

    if count == 10:
        no_names = True
        count = 0
        print('Declare value as No names')

这应该满足您的要求:

  1. 不检测任何名称10次,然后声明。

  2. 检测到新名称时,仅输出一次。

  3. 每次找到新名称时都要重置计数器。