我是新手。我正在尝试将简单的 python 文件导入到我的主文件中。相同的代码在我的 mac 上工作,但在我的电脑上不起作用。我不断收到此错误消息。 “AttributeError:模块‘logo’没有属性‘hammer_logo’”
第一个文件 拍卖.py 代码
import logo
print(logo.hammer_logo)
第二个文件 代码
hammer_logo = "HAMMER"
我使用 Visual Studio 代码,我知道这不是代码错误,因为我在我的 Mac 上测试并且它可以工作。这是 Visual Studio 错误还是电脑错误? 请帮助我,我想继续编写代码,但这确实给我带来了困难。
我观看了 yt 视频,但找不到任何解决方案。所以我厌倦了 stackover flow 因为 chatgpt 推荐我。这是我第一次使用这个网站。
你遇到的问题与 Visual Studio Code 或你的电脑无关,而是与你如何处理 Python 模块有关。当你运行代码时,Python 会感到困惑,因为它在你的项目中找到了两个名为“logo”的东西:一个是你创建的
logo.py
文件,另一个是它试图从你的主拍卖文件中导入的“logo”。
以下是修复方法以及它是如何工作的:
理解问题
当导入模块时,Python 寻找名为
logo.py
的文件(在你的情况下)。找到此文件后,它会运行
整个文件
。包括
print(logo.hammer_logo)
行,该行在该时间点失败,因为
hammer_logo
尚未在
logo.py
本身中定义。
解决方案
你需要做的是将
hammer_logo
变量的定义从你的主拍卖文件
移动
到
logo.py
文件。
修改后的代码
以下是你的代码应如何显示:
logo.py
hammer_logo = "HAMMER"
拍卖.py
import logo
print(logo.hammer_logo)
解释
通过这种方式,当你
import logo
时,
logo.py
文件会运行,定义
hammer_logo
,然后你就可以毫无问题地访问它。
额外提示
为了更好地组织你的项目,你可以考虑创建一个名为
__init__.py
的空文件,该文件与你的
auction.py
和
logo.py
文件位于同一目录中。这将帮助 Python 将该目录识别为一个包,从而更轻松地管理你的代码。
请告诉我这是否解决了你的问题,如果你需要更多帮助,请告诉我!
标签:python From: 78842207