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

我正在尝试将字典写到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 python

from sys import exit


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


缥缈止盈
浏览 588回答 3
3回答

慕哥6287543

您是否尝试过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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python