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))

with open('tt.txt','r') as f:

    read2=eval(f.read())
    print(read2)

    print(type(read2))

输出结果:

{'a': 'e', 'b': 'f', 'c': 'g'}

{'a': 'e', 'b': 'f', 'c': 'g'}

结论:str(dict)直接将字典数据类型转换成字符串,而且是在最外层加了个引号;这样就可以将字典原原本本地保存到本地了;读取本文文件时,该字典就会被读取出来,但仍是字符串,所以需要转换,去掉双引号,其内容正是生成字典的代码,也是其内容;所以eval函数就上场了,将字符串内部的代码当作是python语句并执行;

你可能感兴趣的:(python)