【发布时间】:2021-07-25 13:08:19
【问题描述】:
我有以下 python for-loop,它应该循环 RANGE 次数。我在代码开头指定RANGE,例如,假设范围是5。
然后有一个包含 2 个 uuid 的 uuid_list。应该为每个创建一条消息。
for i in range(RANGE):
data = MESSAGE[i]
message = data
mqtt_connection.publish(topic=TOPIC, payload=json.dumps(message),
qos=mqtt.QoS.AT_LEAST_ONCE)
print("Published: '" + json.dumps(message) + "' to the topic: " + TOPIC)
t.sleep(20)
由于我已将 RANGE 指定为 5,因此我期望为每个 uuid 生成 5 条消息的结果。但是,使用上面的代码,我只收到第一个 uuid 的 5 条消息。
为了尝试纠正这个问题,我也尝试过......
for i in range(RANGE):
data = MESSAGE[i+1]
message = data
mqtt_connection.publish(topic=TOPIC, payload=json.dumps(message),
qos=mqtt.QoS.AT_LEAST_ONCE)
print("Published: '" + json.dumps(message) + "' to the topic: " + TOPIC)
t.sleep(20)
RANGE 仍然是 5。但是现在我收到了第一个 uuid 的 8 条消息和第二个 uuid 的 2 条消息。
谁能告诉我应该如何指定我的行 data = MESSAGE[i] 以便为每个 uuid 实现所需的 RANGE?
【问题讨论】:
-
您的问题不清楚。
MESSAGE是什么?它的价值是什么?你在哪里使用uuid_list,我在你发布的代码中没有看到。 -
@Shiva 我已经包含了整个代码供您查看
标签: python python-3.x loops for-loop