ini配置文件中以逗号分隔的值

时间:2013-10-15 10:14:56

标签: python ini

当我在Linux中使用python解析时,如何将输入作为逗号分隔值放在ini文件中。

您将在下面找到MWE

#!/usr/bin/env python

import configparser

def parse_config(file):
        global config_dictionary
        config_dictionary={}
        config=configparser.ConfigParser()
        config.read(file)
        for section in config.sections():
                config_dictionary[section] = {}
                for option in config.options(section):
                        config_dictionary[section][option] = config.get(section, option)
        return config_dictionary

def main():
        config_path = 'test.ini'
        config_dict=parse_config(config_path)
        mapping = config_dict['Options']['initialassignment']
        mapping = list(mapping)
        print mapping

if __name__ == "__main__":
        main()

并且test.ini文件是

[Options]
initialAssignment=0,1,2,3

3 个答案:

答案 0 :(得分:0)

mapping = config_dict['Options']['initialassignment']
mapping = list(mapping)
mapping = [int(x) for x in mapping if x != ","]
print mapping

这绝对不是最干净的方式。但它的确有效。任何建议都会有所帮助!谢谢

答案 1 :(得分:0)

在ini文件中使用引号:

[选项]

initialAssignment = “0,1,2,3”

将禁用','作为字段分隔符。

答案 2 :(得分:0)

您可以使用 split() 方法和列表推导来拆分逗号分隔值并将其转换为列表:

mapping = config_dict['Options']['initialassignment']
mapping = list(mapping)
mapping = [int(z) for z in (mapping.split(','))]