如何将类的实例存储到文件中

时间:2014-08-14 20:22:07

标签: python class for-loop

这一直困扰着我。我无法在网上找到任何能给我答案的东西。希望你们能够对此有所了解:

这是一段代码:

class MyClass():
    def __init__(self):
        self.name = ''
        self.age = 0
        self.gender = ''


me = MyClass()
me.name = "john"
me.age = 23
me.gender = "male"

with open('MyFile', 'w') as f:
    dict = vars(me)
    for attr in dict:
        f.write(att + '\n')

输出:

name
age
gender

我希望输出如何......

name: john
age: 23
gender: male

格式并不重要,但是我可以在文件中存储类的实例,以便能够再次阅读。有人有任何想法吗?

3 个答案:

答案 0 :(得分:1)

味酸!

#save
file_handler = open("myfile.pkl", "w")
pickle.dump(me, file_handler)

#load
file_handler = open("myfile.pkl", "r")
me = pickle.load(file_handler)

答案 1 :(得分:0)

你可以自己动手,也可以试试pickle。这个问题之前已经得到了回答。

答案 2 :(得分:0)

你应该尝试泡菜,但我认为你要找的只是制作你的代码

with open('MyFile', 'w') as f:
    dict = vars(me)
    for attr in dict:
        f.write( attr + ': ' + str( dict[attr] ) + '\n')