我通过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却什么也没解释。将其作为字符串读取即可。
答案 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])
>>>
您有多个列表,因此它将存储为元组,因为您不能将多个项目分配给单个变量,因此,只需使用循环即可访问元组的每个项目。