当我在 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(','))]