Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入类时导入错误_Python_Import_Module_Package_Importerror - Fatal编程技术网

Python 导入类时导入错误

Python 导入类时导入错误,python,import,module,package,importerror,Python,Import,Module,Package,Importerror,我有一个关于导入模块/包的问题,如果有人能澄清我的困惑,我似乎无法理解。 我有一个名为parent_directory的主文件夹 在这里面我有两个包,package1包含模块module1,module2和一个名为package2的文件夹,package2子文件夹包含模块module3 模块1.py包含 class module1: print("I am MODULE 1 in PACKAGE 1") class module1: print("I am MO

我有一个关于导入模块/包的问题,如果有人能澄清我的困惑,我似乎无法理解。 我有一个名为parent_directory的主文件夹 在这里面我有两个包,package1包含模块module1,module2和一个名为package2的文件夹,package2子文件夹包含模块module3

模块1.py包含

class module1:
print("I am MODULE 1 in PACKAGE 1")
class module1:
print("I am MODULE 2 in PACKAGE 1")
class module3:
print("I am MODULE 3 in PACKAGE 2")
module2.py包含

class module1:
print("I am MODULE 1 in PACKAGE 1")
class module1:
print("I am MODULE 2 in PACKAGE 1")
class module3:
print("I am MODULE 3 in PACKAGE 2")
module3.py包含

class module1:
print("I am MODULE 1 in PACKAGE 1")
class module1:
print("I am MODULE 2 in PACKAGE 1")
class module3:
print("I am MODULE 3 in PACKAGE 2")
当我打开OOP lab3.py时 并使用以下命令

from package1.module1 import module1
module1()
打印输出是,我是包1中的模块1,这是我所期望的,但是,如果我将此更改为

from package1.module2 import module2
module2()
打印输出是,我是包1中的模块2,这也是我所期望的,但我也得到了错误

文件“D:/Docs/Programming/Python/parent_directory/OOP lab 3.py”,第8行,在 从package1.module2导入module2 ImportError:无法从“package1.module2”(D:\Docs\Programming\Python\parent\u directory\package1\module2.py)导入名称“module2”

如果模块1和模块2在同一个软件包中,我不明白为什么会出现导入错误,如果出现导入错误,为什么会打印出我希望能够导入模块2的内容,更让我困惑的是,我在使用模块3时没有问题

from package1.package2.module3 import module3
module3()

感谢您的帮助

我发现了这个问题,我在Module2.py中输入了一个

class module1:
    print("I am MODULE 2 in PACKAGE 1")
应该是的

class module2:
    print("I am MODULE 2 in PACKAGE 1")

为什么文件
module2
中的名称是
module1
,这不是错误吗?谢谢@azro刚才发现的that@azro我在Module2.py中输入了一个错误。我应该调用Module2类而不是module1类,感谢您发现了它。不要回答输入错误答案,它们将被标记并关闭,谢谢