首页 > 解决方案 > 从ini中读取特定部分

问题描述

我有以下代码,我已经成功地从 ini 中读取了这些部分及其相应的值。现在我正在尝试输出仅满足某些条件的结果,但在获得正确的输出时遇到了一些问题,希望能得到一些想法,我该如何做到这一点

ini file -
[Issue_1]
close_major = some jql
#contains all problems with major priority

[Issue_2]
close_minor = some jql
#contains all problems with minor priority
config = configparser.ConfigParser()
    config.read('test.ini')

    result = dict()
    for section in config.sections():
        ticket_results = list()
        result[section] = ticket_results
        for desc, jql in config.items(section):
            results = jira.search_issues(jql, startAt=0, maxResults=1000)

            for i in results:
                dateformat = '%Y-%m-%dT%H:%M:%S.%f+0000'
                ticket_end_time = datetime.strptime(i.fields.customfield_xxx, dateformat)
                ticket_start_time = datetime.strptime(i.fields.customfield_zzz, dateformat)
                issue_time = ticket_end_time-ticket_start_time
                issue_time_new = issue_time.total_seconds()

# Try to get the issues where issue time is less than 2days for Issue_1 and 5days for Issue_2
                if(config.items('Issue_1')):
                    if issue_time_new < 172800:
                        ticket_results.append(i.key)
                elif(config.items('Issue_2')):
                    if issue_time_new < 432000:
                        ticket_results.append(i.key)
print(result)

看起来我没有正确循环这个,假设正确的输出应该是 Issue_1 的 5 个结果和 Issue_2 的 4 个结果

我得到了 Issue_2 的 6 个结果,因为它正在从 Issue_1 而不是 Issue_2 读取 ini 部分

任何帮助将不胜感激

标签: python-3.x

解决方案


找出我做错的地方 -

而不是使用 if(config.items('Issue_1')),在这种情况下应该只使用部分......所以代码应该看起来像这样......

if 'Issue_1' in section and issue_time_new < 172800:
    ticket_results.append(i.key)

推荐阅读