我试图创建一个脚本,在该脚本中检查文本文件并检查x次尝试后值'names'是否包含名称。
目前,我已经设法创建了一个脚本来打开包含json格式的文本文件。我还添加了一个计数器,用于检查x次尝试后名称是否为空。它将声明为无名称。如果有值,它将打印出新名称。
('0012', '0012')
('0013', '0013')
我期望得到以下结果是,在没有检测到名称的情况下,我没有立即将其声明为“无名称”。我想每次向计数器添加一个,但是如果该计数器达到x数量的时间等,则为10次。然后声明它,因为文本文件中没有名称。但是,每次检测到添加的新名称时,它应该只打印一次所有名称,然后在x次之后继续查看名称是否为空。我想在每次找到新名称时重置计数器。只有长时间没有名字的人才算作没有新名字。
答案 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')
这应该满足您的要求:
不检测任何名称10次,然后声明。
检测到新名称时,仅输出一次。
每次找到新名称时都要重置计数器。