【问题标题】:How to Print Unified Python Dictionary Within For Loop如何在 For 循环中打印统一的 Python 字典
【发布时间】:2015-12-18 15:49:02
【问题描述】:

我尝试使用 Config.ini 文件中的部分详细信息打印一个统一的 Python 字典,但不幸的是,我得到了单独的列表或只有最终的字典。

我很想从你们那里得到一些帮助。

config_path = r"<Path>\Config.ini"

    dict = {}

    config = ConfigParser.ConfigParser()
    config.read(config_path)
    sections = config.sections()

    for section in sections:
        sql_query = config.get(section, 'SQL')
        limit = config.get(section, 'Limit')
        description = config.get(section, 'Description')
        section_name = section

        dict = {'Query': sql_query,
                'Limit': limit,
                'Description': description,
                'Section': section_name}

    print dict

【问题讨论】:

    标签: python python-2.7 dictionary ini configparser


    【解决方案1】:

    您在每个循环中覆盖您的字典。

    版本 1:字典列表

    config = ConfigParser.ConfigParser()
    config.read(config_path)
    sections = config.sections()
    
    config_sections = []
    for section in sections:
        config_sections.append(
            {'Query': config.get(section, 'SQL'),
             'Limit': config.get(section, 'Limit'),
             'Description': config.get(section, 'Description'),
             'Section': section})
    
    print config_sections
    

    版本 2:带列表的字典

    config = ConfigParser.ConfigParser()
    config.read(config_path)
    sections = config.sections()
    
    config_dict = {}
    for section in sections:
        for name, value in [('Query', config.get(section, 'SQL')),
                            ('Limit', config.get(section, 'Limit')),
                            ('Description', config.get(section, 'Description')),
                            ('Section', [section])]:
            config_dict.setdefault(name, []).append(value)
    print config_dict
    

    【讨论】:

    • 感谢 Mike 的帮助 :) 但根据您的代码,我得到了这个输出 {Query[all_sections_queries], Limit[all_sections_limit]....}。我需要的是这个输出 {[query1,limit1,description1,section1],[query2,limit2,description2,section2],[query3,limit3,description3,section3]}
    • 我认为这是你想要的。您是否列出了每个部分包含一本字典的列表?
    • 抱歉造成误会,这正是我所需要的。
    • 如果能解决你的问题,你可以accept回答。
    猜你喜欢
    • 2022-01-24
    • 2021-08-04
    • 1970-01-01
    • 2022-01-12
    • 2017-09-28
    • 2021-08-04
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多