将两个字典中的日期与元组作为值进行比较

Comparing dates from two dictionaries with tuples as values

我是 python 初学者,目前从事自动化工作。所以我想比较两本词典。首先,如果来自主人的钥匙在奴隶中。如果是,比较来自这些键的日期(值[1]),检查来自主控的日期是否更新并打印来自主控的值[0]。我可以格式化日期进行比较,但我不知道如何在检查两者上都存在哪个键后访问从值,甚至打印它们。

master = {"test1": ("123", "2022-02-14T21:50:03.943943Z"), "test2": ("456", "2022-02-14T21:50:03.183617Z"), "test3": ("789", "2022-02-4T21:50:03.183617Z")}

slave = {"test1": ("123", "2022-02-14T08:14:47.850537Z"), "test2": ("456", "2022-02-14T14:32:08.988684Z")}

date_format = "%Y-%m-%dT%H:%M:%S.%f%z"

for key, value in master.items():
    if key in slave:
       print(datetime.datetime.strptime(value[1], date_format))
       print(datetime.datetime.strptime(slave[value[1]], date_format))

您需要调用 slave 并访问由您正在检查的相同键引用的元素是否存在,如果存在,它当然与 [=12 中的相同=],并且你在for loop开头定义为key。这样,你得到了元组,你想从中提取第二个元素,即时间戳,用于比较目的。

import datetime 

master = {"test1": ("123", "2022-02-14T21:50:03.943943Z"), "test2": ("456", "2022-02- 14T21:50:03.183617Z"), "test3": ("789", "2022-02-14T21:50:03.183617Z")}

slave = {"test1": ("123", "2022-02-14T08:14:47.850537Z"), "test2": ("456", "2022-02-14T14:32:08.988684Z")}

date_format = "%Y-%m-%dT%H:%M:%S.%fZ"

for key, value in master.items():
    if key in slave.keys():
       master_tmsp = datetime.datetime.strptime(value[1].replace(" ",""), date_format)
       slave_tmsp = datetime.datetime.strptime(slave[key][1].replace(" ",""), date_format)
       
       if master_tmsp > slave_tmsp:
           print(master_tmsp)

我必须包含 .replace(" ", "") 以从时间戳字符串中删除空格。我不知道这是一个拼写错误还是您以这种方式获取数据。