【问题标题】:How to import modules from another folders at different locations [Python]?如何从不同位置的另一个文件夹导入模块[Python]?
【发布时间】:2017-08-23 05:37:09
【问题描述】:

我有一个这样的文件夹结构。

Main_Folder
          A
            A1
            A2
              __init__.py
              file1.py
          B
            B1
               B2
                 __init__.py
                 file2.py

我想在 file1.py 中导入 file2,我尝试了 from B.B1.B2.file2 import * 但没有成功。如何在 file1.py 中导入 file2?

【问题讨论】:

    标签: python-2.7 operating-system sys sys.path


    【解决方案1】:

    每个目录都需要__init__.py。像 B , B1, B2 如果你定义了 __init__.py 那么只有 python 会理解它的包文件夹......

    Main_Folder
              A
                __init__.py
                A1
                A2
                  __init__.py
                  file1.py
              B
                __init__.py
                B1
                   __init__.py 
                   B2
                     __init__.py
                     file2.py
    

    现在试试from B.B1.B2.file2 import * 它会起作用的..

    【讨论】:

    • 在 file1.py 中导入完全可以正常工作(在 file1.py 中导入 file2.py)。假设另一个文件 file3.py(在 /B/B3 中)。当我执行 file3.py 时,它说,没有找到名为 file2 的模块。可能是什么原因?
    • 做同样的事情.. 将 init.py 放在所有子文件夹中。那么只有它会识别出有python文件
    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多