相对导入

  1. 相对导入
  2. 文件运行

相对导入

  • 目录结构
1
2
3
4
5
6
7
8
9
10
11
12
13
top
├── main.py
└── project
├── __init__.py
├── config.py
└── model1
├── __init__.py
├── test1.py
└── test2.py
└── model2
├── __init__.py
├── test3.py
└── test4.py
  • main.py
    1
    2
    3
    4
    5
    6
    7
    import os

    import project.model1.test1
    import project.model1.test2

    import project.model2.test3
    import project.model2.test4
  • test1.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import os
    import sys

    # 以脚本执行时允许相对导入
    if __name__ == "__main__" and __package__ is None:
    sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
    import project.model1 # noqa: F401
    __package__ = "project.model1"

    from . import test2
    from ..model2 import test3

    print(__file__,"=", __name__,"=", str(__package__),"=")

    文件运行

    当运行main.py时,需要像文件中的一样导入。
    当运行test1.py时,会运行if中的语句,将整个包导入,就可以进行相对引用。

微信:宏沉一笑
公众号:漫步之行

签名:Smile every day
名字:宏沉一笑
邮箱:whghcyx@outlook.com
个人网站:https://whg555.github.io



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 whghcyx@outlook.com

文章标题:相对导入

文章字数:204

本文作者:宏沉一笑

发布时间:2020-01-18, 00:00:00

最后更新:2023-06-19, 13:58:36

原始链接:https://whghcyx.gitee.io/2020/01/18/IT-2020-1-18-%E7%9B%B8%E5%AF%B9%E5%AF%BC%E5%85%A5/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏