0

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

您将在下面找到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
4

3 回答 3

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

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

于 2013-10-15T10:29:03.430 回答
0

在您的 ini 文件中使用引号:

[选项]

初始分配="0,1,2,3"

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

于 2015-10-15T13:43:11.787 回答
0

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

mapping = config_dict['Options']['initialassignment']
mapping = list(mapping)
mapping = [int(z) for z in (mapping.split(','))]
于 2021-02-25T22:18:57.967 回答