2024-04-25 17:58:25 发布
网友
我有一个txt文件,其中包含Python中的字典,我以以下方式打开它:
with open('file') as f: test = list(f)
当我查看test时,结果是一个元素的列表。第一个元素是字典的字符串(它还包含其他字典),因此它看起来像:
有没有什么方法可以将其作为字典存储,而不必确定不同键和相应值开始/结束的字符索引?或者,是否可以以将数据识别为字典的方式读入文件?在
如果您正在读取json文件,那么您可以使用^{}模块。在
json
import json with open('data.json') as f: data = json.load(f)
如果确定正在读取的文件包含python字典,则可以使用内置的^{}将这些字符串转换为python字典:
还有一种替代方法,eval。但是使用ast.literal_eval会更好。这个answer将解释原因。在
eval
ast.literal_eval
您可以使用json模块
用于写作
import json data = ["ID": 1, date: "2016-01-01", "A": {name: "Steve", id: "534", players:{last: "Smith", first: "Joe", job: "IT"}} with open("out.json", "w") as f: json.dump(data)
阅读
从文件中读取时,只需使用eval()。在
eval()
例如:
>>> f = open('file.txt', 'r').read() >>> mydict = eval(f) >>> type(f) <class 'str'> >>> type(mydict) <class 'dict'>
如果您正在读取} 模块。在
json
文件,那么您可以使用^{如果确定正在读取的文件包含python字典,则可以使用内置的^{} 将这些字符串转换为python字典:
^{pr2}$还有一种替代方法,
eval
。但是使用ast.literal_eval
会更好。这个answer将解释原因。在您可以使用json模块
用于写作
阅读
^{pr2}$从文件中读取时,只需使用
eval()
。在例如:
相关问题 更多 >
编程相关推荐