gpt4 book ai didi

python - Python 3.1.1 中的搁置模块

转载 作者:行者123 更新时间:2023-11-28 20:52:22 25 4
gpt4 key购买 nike

我是 Python 的新手,正在通过 O'Reilly 的“学习 Python”系列学习。我被一个搁置的例子困住了,无法弄清楚为什么这个程序不起作用。我正在尝试构建一些示例数据,然后将其加载到搁置文件中。奇怪的是,当我将它输入 IDLE shell 时它起作用,但当我将它输入 .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 shell 上运行此代码时,我没有问题,但是当我从 .py 文件运行时,我收到以下错误:

Traceback (most recent call last): File "Documents/Python_Learning/shelve.py", line 7, in import shelve File "Documents/Python_Learning/shelve.py", line 9, in db = shelve.open('persondb') AttributeError: 'module' object has no attribute 'open'

如果有帮助,这里是我在 Snow Leopard 上运行的 Python 版本的信息:

Python 3.1.1(r311:74543,2009 年 8 月 24 日,18:44:04)[GCC 4.0.1 (Apple Inc. build 5493)] 在 Darwin 上

感谢您对新手的帮助!

最佳答案

将您的模块重命名为 shelve.py 以外的名称 — 您正在导入自己。

关于python - Python 3.1.1 中的搁置模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com