代码之家  ›  专栏  ›  技术社区  ›  waqasgard

在Python中导入不同目录中的文件

  •  1
  • waqasgard  · 技术社区  · 7 年前

    我有这样的目录结构:

    dir/
       frontend.py
       dir1/main.py
       dir2/backend.py
    
    • 如何在Python中导入main中的后端?
    • 如何在Python中导入主前端?

    2 回复  |  直到 7 年前
        1
  •  1
  •   jo9k    7 年前

    在要从中导入源文件的任何文件夹中,都需要有现有的 初始化 .py文件。

    我建议结构如下:

    dir/
       main.py
       dir1/frontend.py
       dir1/__init__.py
       dir2/backend.py
       dir2/__init__.py
    

    然后以以下方式导入它们(在main.py中):

    import dir1.frontend
    import dir2.backend
    
        2
  •  1
  •   waqasgard    6 年前

    只有一条规则 在Python项目中导入文件时。

    你必须导入包 relative directory 项目从何处运行。

    例如在问题中 main.py 应该有这样的内容:

    from dir.frontend import *
    from dir.dir2.backend import *
    

    但是你必须有这样的东西 主要的py公司 在下面 dir/ 哪些进口 dir/dir1/main.py 然后运行 python main.py .

    所以,尽量保持 始终在 head directory 所以你不必担心这样的情况。

    只有一条规则: Everything has to be imported relatively to the directory from where the project is run.