首页 > 解决方案 > 如何在 configparser 参数上设置列表(不是字符串)

问题描述

我想设置一个.ini文件的参数。我使用该configparser模块,但我注意到每次保存参数时,它都会存储为字符串。是否有可能将格式化为列表的字符串(如"['p1', 'p2', 'p3']")转换为列表?

这就是我所做的:

list1 = ['ALL'] # initial list value

tmpList = cfg.get('DEFAULT', 'list1')
for i in range(0, len(tmpList)):
    list1.insert(tk.END, tmpList[i])

他带着印刷品回来了:

[
'
A
L
L
'
]

标签: pythonstringlistconfigparser

解决方案


您可以使用 of 将 python 有效字符串对象转换为actaulast.literal_eval

import ast
l1 = "['p1', 'p2', 'p3']"
l2 = ast.literal_eval(l1)
>>> l2
>>> ['p1', 'p2', 'p3']
>>> type(l2)
>>> <class 'list'>

推荐阅读