将dict写入txt文件并将其读回?

我正在尝试将字典写入txt文件。然后用raw\u input输入键读取dict值。我觉得我只是错过了一步,但我已经寻找了一段时间了

我得到这个错误

文件“name.py”,第24行,在reading中
打印鞭子[名称]
TypeError:字符串索引必须是整数,而不是str

我的代码:

#/usr/bin/env python
从系统导入退出
类人(对象):
定义初始化(自):
self.name=“”
self.address=“”
self.phone=“”
self.age=“”
self.whip={}
def写入(自):
self.whip[p.name]=p.age,p.address,p.phone
target=open('dect.txt','a')
target.write(str(self.whip))
打印自我鞭笞
def读数(自):
self.whip=open('dect.txt','r')。read()
名称=原始输入(“>”)
如果名称在self.whip中:
打印self.whip[名称]
p=人()
尽管如此:
打印“类型:\n\t*读取以读取数据库\n\t*写入以写入数据库\n\t*退出以退出”
操作=原始输入(“\n>”)
如果“写”起作用:
p、 名称=原始输入(“名称?\n>”)
p、 电话=原始输入(“电话号码?\n>”)
p、 年龄=原始输入(“年龄?\n>”)
p、 地址=原始输入(“地址?\n>”)
p、 写作()
elif“读”的作用:
p、 阅读()
elif“退出”操作:
出口(0)

您尝试过json模块吗?JSON格式与python字典非常相似。而且它是人类可读/写的:

&gt&燃气轮机&燃气轮机;导入json
&燃气轮机&燃气轮机&燃气轮机;d={“一”:1,“二”:2}
&燃气轮机&燃气轮机&燃气轮机;dump(d,open(“text.txt”,“w”))

此代码转储到文本文件

$cat text.txt
{“两”:2,“一”:1}

您还可以从JSON文件加载:

&gt&燃气轮机&燃气轮机;d2=json.load(打开(“text.txt”))
&燃气轮机&燃气轮机&燃气轮机;打印d2
{u'two':2,u'one':1}

发表评论