繁体   English   中英

如何根据时间更新python字典?

[英]How to update python dictionary based on time?

所以我在 python 中遇到的问题是每次我连接到我的 jira 帐户时,我似乎无法保留我以前的 python 字典值。

逻辑似乎在 for 循环和我分配空字典时失败了。 除此之外,我确实尝试通过使用几个条件来解决这个问题,但这些方法没有奏效。

这就是我的意思。

当前代码

import os
import pandas as pd
from jira.client import JIRA
from datetime import datetime
jira_token = os.getenv(<jira_personal_tokne>)
jira_link = os.getenv(<jira_url>)
jira_server = {"server": jira_link}
auth_jira = JIRA(options=jira_server, token_auth=jira_token)

proj = auth_jira.search_issues("project=<my_project> and 'epic link'='<epic_link_of_interest>'")

plmpgm_dict= {}
for i in proj:
   formatted_date = datetime.strptime(i.fields.updated, '%y-%m-%dT%H:%M:%S.%f%z').strftime("%Y-%m-%dT%H:%M:%S")
   inner_dict = {}
   inner_dict["summary"]=i.fields.summary
   inner_dict["description"] = i.fields.description
   inner_dict["last_retrieved"] = formatted_date
   plmpgm_dict[i.key] inner_dict
   if i.key == "<jira issue>":
      print(plmpgm_dict)

Output 我得到

{'<jira issue>':{
    'summary':'summary_values',
    'description: 'description values',
    'last_retrieved':'2022-03-11T19:44:15'
    }
}

Output 我想要/期望

{'<jira issue>':{
    'summary':'summary_values',
    'description: 'description values',
    'last_retrieved':'2022-03-11T18:44:15'
    },{
    'summary':'old summary_values',
    'description: ' old description values',
    'last_retrieved':'2022-03-11T18:50:15'
    }
}

现在,我想知道是否有一种方法可以存储我以前的 python 字典键值对,而不是在我使用 python 连接到 jira 时被新的字典键值对替换?

实际上,您的问题既不是 Jira 也不是 Python。

运行程序时,所有变量都从零开始。 它是编程逻辑。 您需要保存以前的值,所以您只需要将数据保存在某个目的地(文件系统、数据库等)

理念

所以,我们需要保存数据。 它是一个 Python dict ,所以我们可以将它保存为一个JSON字符串。 现在,假设我们将它保存在系统中的一个 JSON 文件中。 当你运行程序时,你应该将这个 JSON 文件读入plmpgm_dict变量。

您可以为该操作使用以下代码:

import json

def dict_to_json_file(some_dict, file_name):
    fp = open(file_name, 'w+)
    fp.write(json.dumps(some_dict))
    fp.close()

def json_file_to_dict(file_name):
    fp = open(file_name, 'r+)
    some_dict = json.loads(fp.read())
    fp.close()
    return some_dict

算法

for循环之前,您需要使用类似plmpgm_dict = json_file_to_dict('dump.json')的内容将文件(如果存在)读入plmpgm_dict

for循环之后,在代码的末尾,您需要使用类似dict_to_json_file(plmpgm_dict, 'dump.json')的内容将 dict 转储到 JSON 文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM