首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据时间更新python字典?

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

Stack Overflow用户
提问于 2022-03-11 20:43:12
回答 1查看 69关注 0票数 0

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

当我分配空字典时,这个逻辑似乎在for循环中失败了。除此之外,我还试着用几个条件来解决这个问题,但这些方法并没有奏效。

这就是我的意思。

电流码

代码语言:javascript
复制
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)

输出我得到

代码语言:javascript
复制
{'<jira issue>':{
    'summary':'summary_values',
    'description: 'description values',
    'last_retrieved':'2022-03-11T19:44:15'
    }
}

输出我想要/期望的

代码语言:javascript
复制
{'<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时被替换为新的字典键值对?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-11 22:42:49

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

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

The Idea

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

对于该操作,可以使用以下代码:

代码语言:javascript
复制
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文件中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71444427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档