str与dict与eval的结合妙用
dict1={'a':'e','b':'f','c':'g'}
with open('tt.txt', 'w') as f:
f.write(str(dict1))
with open('tt.txt','r') as f:
read1=f.read()
print(read1)
print(type(read1))
{'a': 'e', 'b': 'f', 'c': 'g'}
<class 'str'>
with open('tt.txt','r') as f:
read2=eval(f.read())
print(read2)
print(type(read2))
{'a': 'e', 'b': 'f', 'c': 'g'}
<class 'dict'>
总结:str(dict)直接将字典数据类型转换成字符串,而且是在最外层加了个引号;这样就可以将字典原原本本地保存到本地了;读取本文文件时,该字典就会被读取出来,但仍是字符串,所以需要转换,去掉双引号,其内容正是生成字典的代码,也是其内容;所以eval函数就上场了,将字符串内部的代码当作是python语句并执行;