我正在尝试模块化我的代码,但是我遇到了问题。
我的文件夹的结构如下:
code
|_main.py
|_test1
|_calcA.py (which contains a method)
|_test2
|_calcB.py (which contains another method)
|_test3
|_calcC.py (which contains another method)
现在,我的main.py包含以下行:
import sys; import pprint
pprint.pprint(sys.path)
from test1.calccircle.py import calcA
from test2.calctriangle.py import calcB
from test3.calccarre.py import calcB
出现以下错误:
ImportError:没有名为“ test1.calcA.py”的模块; 'test1.calcA'不是软件包
答案 0 :(得分:3)
导入模块时无需指定.py
。 Python知道您的模块仅是Python代码。因此,在使用Python导入模块时,请删除.py
。
答案 1 :(得分:1)
Test1是文件夹或目录,您正尝试像打包程序一样访问它。 如果要以这种方式访问它,则必须在文件夹中插入 init .py文件。而且,您在导入时也无需指定.py!
答案 2 :(得分:0)
在目录中添加__init__.py
答案 3 :(得分:-1)
您可以这样做
from test1.calcA import calcA
,其中calcA
是方法。