Python2.7 json将文本列表加载回int列表

时间:2018-08-09 04:09:03

标签: python json python-2.7

我通过simplejson从Windows INI文件加载列表。该列表以字符串形式读取,我需要将其转换回适当的列表,因此arr[0] = [30, 40, 80]arr[1] = [90, 255, 255]

config.ini:

Advanced Settings
tlhsv = "[30, 40, 80], [90, 255, 255]"

Main.py

tlhsv = self.config.get('Advanced Settings', 'tlhsv')
print(tlhsv)
u'"[30, 40, 80], [90, 255, 255]"'

我到底该怎么做?甚至更好的是,有一种方法可以格式化INI文件,以便它可以由simplejson自动正确读取。

我试图用不同的方式设置ini的格式,但是让[],()或逗号给出ValueError却什么也没解释。将其作为字符串读取即可。

1 个答案:

答案 0 :(得分:0)

您可以使用ast模块来完成

>>> import ast
>>> loaded_json = json.loads('{"tlhsv": "[30, 40, 80], [90, 255, 255]"}')
>>> li = ast.literal_eval(loaded_json['tlhsv'])
>>> li
([30, 40, 80], [90, 255, 255])
>>> 

您有多个列表,因此它将存储为元组,因为您不能将多个项目分配给单个变量,因此,只需使用循环即可访问元组的每个项目。