使用 Python 3.5 及更高版本导入目录错误
Import directory errors with Python 3.5 and above
我想从 Python 3.6 的文件夹和子文件夹中导入模块。
目前我有这样的结构。
└── project
│ main.py
├── package1
│ ├── __init__.py
│ └── module1.py
└── package2
├── __init__.py
├── module2.py
当我导入 module1 和 module2 时,我没有遇到任何问题。
在 main.py
中有这个脚本来导入两个模块。
from package1 import module1
from package2 import module2
效果很好!
但是我想将 package2 和 module2 移动到 package1 下的子文件夹中,如下所示:
└── project
│ main.py
└── package1
├── __init__.py
├── module1.py
└── subpackage1
├── __init__.py
├── module2.py
并想从 main.py
调用模块 2。尝试了以下路径和脚本并不能解决我的问题,我收到导入错误,它找不到路径。
在 main.py
中有这个脚本来导入两个模块。
from package1.subpackage1 import module2
或
from package1.subpackage1.module2 import Class_in_module2
或
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from package1.subpackage1 import module2
它不起作用。找不到路径!
任何帮助不胜感激!
由于 from 关键字接受文件夹层次结构并且 import 来自文件的特定方法,这应该有效。
from MainFolder.SubFolder.SomeDotPy import foo,bar,somevalue
我想从 Python 3.6 的文件夹和子文件夹中导入模块。 目前我有这样的结构。
└── project
│ main.py
├── package1
│ ├── __init__.py
│ └── module1.py
└── package2
├── __init__.py
├── module2.py
当我导入 module1 和 module2 时,我没有遇到任何问题。
在 main.py
中有这个脚本来导入两个模块。
from package1 import module1
from package2 import module2
效果很好!
但是我想将 package2 和 module2 移动到 package1 下的子文件夹中,如下所示:
└── project
│ main.py
└── package1
├── __init__.py
├── module1.py
└── subpackage1
├── __init__.py
├── module2.py
并想从 main.py
调用模块 2。尝试了以下路径和脚本并不能解决我的问题,我收到导入错误,它找不到路径。
在 main.py
中有这个脚本来导入两个模块。
from package1.subpackage1 import module2
或
from package1.subpackage1.module2 import Class_in_module2
或
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from package1.subpackage1 import module2
它不起作用。找不到路径! 任何帮助不胜感激!
由于 from 关键字接受文件夹层次结构并且 import 来自文件的特定方法,这应该有效。
from MainFolder.SubFolder.SomeDotPy import foo,bar,somevalue