从python中的不同目录导入
这是我的文件夹结构:从python中的不同目录导入,python,import,package,Python,Import,Package,这是我的文件夹结构: src/ __init__py Lowlevel/ __init__.py ModuleToCheck.Py Test/ __init__.py ModuleToCheck_test.py (\uuuu init\uuuu.py是空文件) 现在我想在ModuleToCheck\u test.py中导入ModuleToCheck.py 如何在不向sys.path添加任何内容的情况下执行此操作 更新: from..低级别导入模块检
src/
__init__py
Lowlevel/
__init__.py
ModuleToCheck.Py
Test/
__init__.py
ModuleToCheck_test.py
(\uuuu init\uuuu.py
是空文件)
现在我想在ModuleToCheck\u test.py中导入ModuleToCheck.py
如何在不向sys.path
添加任何内容的情况下执行此操作
更新:
from..低级别导入模块检查
导致:
src$ python Test/ModuleToCheck_test.py
Traceback (most recent call last):
File "Test/ModuleToCheck_test.py", line 6, in <module>
from ..Lowlevel import ModuleToCheck
ValueError: Attempted relative import in non-package
src$python Test/ModuleToCheck\u Test.py
回溯(最近一次呼叫最后一次):
文件“Test/ModuleToCheck_Test.py”,第6行,在
from..低级别导入模块检查
ValueError:尝试在非包中进行相对导入
以下内容来自
请注意,显式和隐式
相对导入基于名称
当前模块的。从名字开始
主模块的
“\uuuuu main\uuuuuu
”,用于
作为Python的主要模块
应用程序应始终使用绝对值
进口
您正在将模块ModuleToCheck_test.py
作为主模块运行,因此出现异常
一种解决方案是在src
目录中创建包含以下内容的test.py
模块:
import Test.ModuleToCheck_test
然后,您可以使用python test.py
+1运行该模块,这是python中唯一将入口点放在顶部位置的合理方法,这样src下的所有内容都将放在pythonpath中