我目前正在学习python编程(并且是一个初学者)。目前我被困在文件练习中(所以这些都是我需要做的事情,而不是做我想做的任何事情。不幸的是,这也意味着我可能不能做任何复杂的(对我来说)快捷方式)AttributeError:'模块'对象没有属性'newperson'
当前使用Python 3.2.2
我需要两个不同的程序。一种是输入用户输入的内容(名称和DOB)并将其放入列表中的记录中并将其写入二进制文件中。另一种是读取该文件并使用填充将其打印到表格中。
代码:
首先
import pickle
class newperson():
def __init__(self):
self.name = ""
self.dob = ""
stop = False
people = []
print("When you want to stop just hit enter")
count = 0
while stop == False:
name = input("Please Enter the name: ")
if len(name) == 0:
stop = True
else:
people.append(newperson())
people[count].name = name
people[count].dob = input("Please enter their DOB: ")
count = count + 1
file = open("ex9.4.dat", "wb")
pickle.dump(people,file)
file.close()
二:
import pickle
myfile = open("ex9.4.dat", "rb")
people = pickle.load(myfile)
print("{0:<15}{1}".format("Name","DOB"))
for item in people:
print("{0:<15}{1}".format(item.name,item.dob))
的问题是,我正在尝试运行第二个程序时出现以下错误:
AttributeError: 'module' object has no attribute 'newperson'
on
people = pickle.load(myfile)
不幸的是,当我一直在寻求对其他问题的回答,要么没有任何解决方案都工作过,并不适用于我或大多只是去WAAAY在我头上。
我在做什么错?
在此先感谢您的帮助。
谢谢:)修复它。我会继续使用附加文件,并参考它和词典,但是我还没有真正了解它们(真的是初学者),所以现在我只是重复这个类。再次感谢 :) – PCJonathan 2012-02-03 11:26:23