如何在 configparser 参数上设置列表(不是字符串)

How to set a list (not a string) on a configparser parameter

我想设置一个 .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])

He returns, 打印:

[
'
A
L
L
'
]

您可以使用 ast.literal_eval

将 python 有效字符串对象转换为 actaul
import ast
l1 = "['p1', 'p2', 'p3']"
l2 = ast.literal_eval(l1)
>>> l2
>>> ['p1', 'p2', 'p3']
>>> type(l2)
>>> <class 'list'>