在我的桌面上,我有一个名为“programming”的文件夹,在该文件夹中有另一个名为“Chessbot”的文件夹,在该文件夹中有两个文件,“ChessEngine.py”和“ChessMain.py”。
我试图将ChessEngine.py导入到ChessMain.py,但当我尝试时,它一直将chessengine.py注册为模块,并导致模块未找到错误。
在'ChessMain.py'中,这是第一行:
from Chessbot import ChessEngine
字符串
显然,我试图导入此文件'ChessEngine.py',但当我运行代码时,它显示为ModuleNotFoundError: No module named 'Chessbot'
显然它认为Chessbot是一个模块而不是一个文件,我该如何解决这个问题?
3条答案
按热度按时间pod7payv1#
你是正确的,Chessbot不是一个模块,它是一个包含两个.py文件的目录。
这里的问题是,你实际上是在引用Chessbot作为一个模块,而它不是。
保存在相同目录中的文件可以简单地导入,因此删除
from Chessbot
,只需导入import ChessEngine
以下是我的ChessEngine.py:
字符串
以下是我的ChessMain.py:
型
我强烈建议遵循一些初学者python教程并阅读文档
wgxvkvu92#
如果文件夹中间有两个文件,则可以按照如下方式导入所需功能:
1.无需从文件夹本身导入文件
字符串
1.您可以导入文件本身,然后使用点调用所需的FAM函数
型
1.或者,您可以直接从文件导入所需的功能,而无需立即导入文件本身
型
pkwftd7m3#
尝试创建一个空文件
__init__.py
,并将其放在Chessbot
下,也可能放在programming
下。这将使目录被视为module
。如果你对python模块和导入的工作方式感兴趣,请随意查看answer。