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
mapping = config_dict['Options']['initialassignment']
mapping = list(mapping)
mapping = [int(x) for x in mapping if x != ","]
print mapping

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

在 ini 文件中使用引号:

[选项]

初始赋值="0,1,2,3"

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

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

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

最新更新