我有一个带有可变信息的.txt文件,我需要读取它以将它们转换为对象,该文件被写为列表和字典,是否有一种简单的方法以这种格式读取它们?
这是txt中写的内容的一个例子:
[
{
"arg1":value1,
"arg2":value2
},
{
"arg1":value3,
"arg2":value4
},
]
答案 0 :(得分:1)
这是有效的JSON;使用json
模块。
import json
with open('file.txt', 'r') as infile:
data = json.load(infile)
答案 1 :(得分:1)
您可以将输入数据解释为yaml
format:
[{'arg1': 'value1', 'arg2': 'value2'}, {'arg1': 'value3', 'arg2': 'value4'}]
{{1}}
答案 2 :(得分:0)
如果它只是列表和词典,您可以使用ast.literal_eval
。以你的例子:
>>> import ast
>>> content = open('input.txt').read()
>>> lst = ast.literal_eval(content)
>>> lst
[{'arg1': 'value1', 'arg2': 'value2'}, {'arg1': 'value3', 'arg2': 'value4'}]
请注意,我也引用了这些值,否则在评估字符串时会出错。但如果值是数字,它将正常工作。