请不要立即将此标记为重复的问题,因为我已经用相同的想法浏览了大量过去的问题,但我不理解任何答案-它们最多是零碎的,需要在文件夹中创建一个名为init.py的文件,我想?我不确定
所以我的具体问题是:我正试图为21点编写一个程序。我已经创建了一个类来在单独的文件中创建卡片组。我把所有的东西都放在同一个文件夹里,叫做“类”。在此文件夹中,有: -一个名为_init.py的文件(为空,因为我不知道它应该做什么) -一个名为playingcardslasses.py的文件,包含卡片和卡片组的类 -一个名为blackjack.py的文件,这是我编写主程序的地方。 我正在使用Pycharm,它立即抛出了一个回溯,但仍然按照我想要的方式运行代码——所以我不知道它为什么会崩溃。 我的代码的第一行是:
from playingcardsclasses.py import Deck
追踪显示:
回溯(最近一次呼叫最后一次): 文件“(directory)/classes/blackjack.py”,第1行,在 从playingcardsclasses.py导入组 ModuleNotFoundError:没有名为“playingcardsclasses.py”的模块playingcardsclasses’不是一个软件包
然后继续愉快地运行我的其余代码,然后以
进程已完成,退出代码为1
消息-即,此处存在问题,因此进行了回溯
首先,在
classes
目录中__init__.py
文件的语法不正确。它应该是__init__.py
,而不是__init.py
在目录中使用
__init__.py
文件的原因是告诉python应该将该目录视为一个包。也就是说,可以从此目录导入其他.py
文件。(见here)在本例中,由于
playingcardsclasses.py
文件包含两个类Card
和Deck
,因此可以从另一个文件导入它们。假设您位于同一目录中名为my_file.py
的另一个文件中。如果要从playingcardsclasses.py
导入Deck
类,可以使用:请注意,在导入时不应使用尾随
.py
,这是您在代码块中犯的错误编辑:还要注意导入中的前导
.
。这只是指定文件playingcardsclasses.py
位于同一目录中相关问题 更多 >
编程相关推荐