私はPythonを初めて使用し、O'Reillyの「LearningPython」シリーズを通じて学習しています。私は棚の例で立ち往生していて、プログラムが機能しない理由を理解できません。サンプルデータを作成して、それをシェルフファイルにロードしようとしています。奇妙なことに、IDLEシェルに入力すると機能しますが、.pyファイルに入力して実行しようとすると機能しません。これが私のコードです:
from Python_Learning.person import Person, Manager
bob = Person('Bob Smith', 'dev', 60000)
sue = Person('Sue Jones', job = 'designer', pay = 100000)
tom = Manager('Tom Jones', 1000000)
import shelve
db = shelve.open('persondb')
for object in (bob, sue, tom):
db[object.name] = object
db.close()
繰り返しますが、このコードをIDLEシェルで実行すると問題はありませんが、.pyファイルから実行すると次のエラーが発生します。
トレースバック(最後の最後の呼び出し):ファイル "Documents / Python_Learning / shelve.py"、7行目インポートシェルフファイル "Documents / Python_Learning / shelve.py"、9行目db = shelve.open('persondb') AttributeError:'module'オブジェクトに属性'open'がありません
役立つ場合は、SnowLeopardで実行しているPythonバージョンに関する情報を以下に示します。
Python 3.1.1(r311:74543、2009年8月24日、18:44:04)[GCC 4.0.1(Apple Inc.ビルド5493)] on darwin
初心者にご協力いただきありがとうございます!
意思