【问题标题】:I want to import something from a very high directory using sys我想使用 sys 从一个非常高的目录中导入一些东西
【发布时间】:2021-10-20 12:35:37
【问题描述】:

好的,目录在我的 D 盘上。

MainApp/main.py(我要导入的函数在这个文件里)

MainApp/subfolder/thirdfolder/fourthfolder/thisissohard.py(我要将函数导出到的文件)

所以我想知道如何做到这一点。我在 youtube 上看到了一个教程,但它只显示到子目录,但我想更深入。

有什么想法吗?

【问题讨论】:

标签: python function import sys


【解决方案1】:

对于每个文件夹,您需要在该文件夹中添加一个 __init__.py,以便 Python 将其识别/视为一个模块,如下面想象的结构:

MainApp\
    .
    ├── main.py
    └── subfolder\
        ├── __init__.py
        └── thirdfolder\
            ├── __init__.py
            └── fourthfolder\
                ├── __init__.py
                └── thisissohard.py

然后,从main.py 你可以像导入一样

import subfolder.thirdfolder.fourthfolder.thisissohard

from subfolder.thirdfolder.fourthfolder.thisissohard import foo, bar

来源:SweetCode

【讨论】:

    【解决方案2】:

    使用sys.path.append(),您可以将项目根目录添加到路径中:

    import sys
    
    sys.path.append('../../../../MainApp')
    
    from MainApp.main import func
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-28
      • 2021-03-02
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2015-07-15
      相关资源
      最近更新 更多