为了账号安全,请及时绑定邮箱和手机立即绑定

写一个字典到txt文件并读回去?

写一个字典到txt文件并读回去?

缥缈止盈 2019-10-15 15:41:36
我正在尝试将字典写到txt文件。然后使用键入键,以读取dict值raw_input。我觉得我只差一步,但我一直在寻找一段时间。我得到这个错误File "name.py", line 24, in reading    print whip[name]TypeError: string indices must be integers, not str我的代码:#!/usr/bin/env pythonfrom sys import exitclass Person(object):    def __init__(self):        self.name = ""        self.address = ""        self.phone = ""        self.age = ""        self.whip = {}    def writing(self):        self.whip[p.name] = p.age, p.address, p.phone        target = open('deed.txt', 'a')        target.write(str(self.whip))        print self.whip    def reading(self):        self.whip = open('deed.txt', 'r').read()        name = raw_input("> ")        if name in self.whip:            print self.whip[name]p = Person()while True:    print "Type:\n\t*read to read data base\n\t*write to write to data base\n\t*exit to exit"    action = raw_input("\n> ")    if "write" in action:        p.name = raw_input("Name?\n> ")        p.phone = raw_input("Phone Number?\n> ")        p.age = raw_input("Age?\n> ")        p.address = raw_input("Address?\n>")        p.writing()    elif "read" in action:        p.reading()    elif "exit" in action:        exit(0)
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

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


>>> import json

>>> d = {"one":1, "two":2}

>>> json.dump(d, open("text.txt",'w'))

此代码转储到文本文件


$ cat text.txt 

{"two": 2, "one": 1}

您也可以从JSON文件加载:


>>> d2 = json.load(open("text.txt"))

>>> print d2

{u'two': 2, u'one': 1}


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 581 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信