我的项目结构如下:
MainScript.py
ExampleFolder
├ MainImport.py
└ SecondaryImport.py
MainScript.py:import ExampleFolder.MainImport
mainport.py:Import SecondaryImport
当我尝试运行MainImport.py
时,它没有得到任何错误,但是当我尝试运行MainScript.py
时,我得到了一个显示为No module named 'SecondaryImport'
的导入错误
我的问题很简单-有没有任何方法可以只从MainScript.py
导入MainImport.py
而不产生这个错误,并且导入SecondaryImport.py
?提前谢谢
我还尝试将名为__init__.py
的空白文件添加到ExampleFolder
,但仍然出现错误。我也读了Python's official documentation,但找不到问题。我错过什么了吗
我认为使用语句
import ExampleFolder.SecondaryImport
会奏效如果是这样,则可能会发生错误,因为如文档中所述,如果模块本身不在python中,import语句通常会开始搜索调用python解释器的主项目目录
另一种方法是像这样使用相对导入语句:
import .secondaryimport
以便告诉python解释器查看当前目录。希望这有帮助看看这些链接会有所帮助,我想(当我陷入类似的问题时,它对我有帮助): https://docs.python.org/3/library/sys.html#sys.pathhttps://realpython.com/absolute-vs-relative-python-imports/
这就是方法-你正在用这种方法从一个目录创建一个Python包。对于包,您已经获得了名称空间
directory.file
,其中file
是一个Python文件,在Python世界中也称为模块然后可以从mainscript.py执行以下操作:
要导入内部包,可以在mainscript.py中使用以下语法:
并在mainscript.py中使用它作为:
或者你可以这样做:
使用方法如下:
顺便说一句,除类名外,所有情况下都使用小写-只有它们应该有大小写名称
相关问题 更多 >
编程相关推荐