本帖最后由 lauyukit 于 2013-7-17 00:29 编辑
自学python一星期了,最近在写一个简单地记录信息的类似于电话簿的程序。
问题简单来说是这样:
我写了一个类Person,并在类中定义了__str__函数,使得我在print Person的对象时能够按照我的需要输出。
然后我在类的下面写了主程序,在里面创建了一个名为Book.data的文件。接着,我创建了一个名为book的
字典(book = {}),再把book['Frost'] = Person('Frost'). 就是把Person的对象与'Frost'对应起来。我把
book保存在了Book.data里。后来我另外写了个小程序去读取Book.data(详细如下)
[mw_shl_code=python,true]#!/usr/bin/python
# Filename: test.py
import person
import cPickle as p
f = file('Book.data', 'w')
book = p.load(f)
print book
f.close()[/mw_shl_code]
本来预期结果是
('Frost' : 'Frost ...(省略)')
但是却报错提示
Traceback (most recent call last):
File "C:\Users\Frost\Desktop\test.py", line 6, in *本站禁止HTML标签噢*
book = p.load(f)
AttributeError: 'module' object has no attribute 'Person'
我知道import Person后,使用Person的函数必须要通过person.function()这种形式去调用
我想知道的是,要怎么解决这问题呢?或许是我本来这样封装类的做法不对,我有C++的基础.....
跪求大大指导!!!!
不知道@南南 和Whisper版主会不会呢.....来救救我..@@9!!
