【问题标题】:Import directory errors with Python 3.5 and abovePython 3.5 及更高版本的导入目录错误
【发布时间】:2019-10-15 14:53:37
【问题描述】:

我想使用 Python 3.6 从文件夹和子文件夹中导入模块。 目前我有这样的结构。

└── project
    │   main.py
    ├── package1
    │   ├── __init__.py
    │   └── module1.py
    └── package2
        ├── __init__.py
        ├── module2.py

当我导入模块 1 和模块 2 时,我没有问题。
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 调用module2。尝试遵循路径和脚本并不能解决我的问题,我收到导入错误,它找不到路径。

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

它不起作用。找不到路径! 任何帮助表示感谢!

【问题讨论】:

  • 你搬家后,我在你展示的树中看不到 package1,可能你错过了

标签: python python-3.x relative-path absolute-path sys.path


【解决方案1】:

由于 from 关键字接受文件夹层次结构并导入文件中的特定方法,这应该可以工作。

from MainFolder.SubFolder.SomeDotPy import foo,bar,somevalue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 2011-11-14
    • 2021-09-09
    • 1970-01-01
    相关资源
    最近更新 更多