現在、私はPythonプログラミングを学習しています(初心者です)。現在、私はファイルの練習に取り組んでいます(これは、私がしたいことをするのではなく、必要な設定です)残念ながら、私はおそらく複雑な(私にとっては)ショートカットを行うことはできません)AttributeError: 'module'オブジェクトに 'newperson'という属性がありません
現在使用していますPython 3.2.2
私は2つの異なるプログラムが必要です。 1つは、ユーザが入力したもの(名前とDOB)を入力し、それをリストのレコードに入れてバイナリファイルに書き込むことです。もう1つは、そのファイルを読み取り、パディングを使用してそのファイルをテーブルに出力することです。
コード:セカンド
まず
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()
:
AttributeError: 'module' object has no attribute 'newperson'
:
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))
問題は、私は2番目のプログラムを実行しようとすると、次のエラーを取得していますということです
on
people = pickle.load(myfile)
残念ながら、私は他の質問への答えを見ている、のいずれかの解決策のどれも働いていないとき、私には適用されないか、ほとんどがちょうど私の頭の上にWAAAY行ってきました。
私は間違っていますか?
ご協力いただきありがとうございます。
ありがとうございました。私は追加ファイルの使用を続け、それらの辞書や辞書を念頭に置いておくつもりですが、まだ実際にはまだ初心者ではありませんので、今はクラスを繰り返していきます。再度、感謝します :) – PCJonathan