Python模块导入的写法

关于Python模块导入的写法有 相对路径导入绝对路径导入 两种不同的导入路径的写法。

相对路径导入

from .utils import upblock2d, crossattn_upblock2d
  • 使用了相对导入,以(“.”)开头
  • 这种导入方法依赖当前模块的包结构。也就是说这种写法需要保证 当前模块和 utils 在同一个包或者子包中。
  • 另外,“.”表示当前包,“..”表示上一级包

my_project/

├── main_module.py
└── sub_package/
  ├── __ init__.py
  ├── utils.py
  └── another_module.py

绝对路径导入

from utils import upblock2d, crossattn_upblock2d
  • 使用了绝对路径(前面没有点)
  • 这种导入方式不依赖当前的模块的位置。也就是说只需要保证 utils模块在Python的搜索路径(如“PYTHONPATH”)中可以找到就可以。
  • 适用于模块独立存在 或者 在顶级包内

总结

  相对导入和绝对导入的主要区别在于它们的路径解析方式。相对导入更加灵活,适用于包内部模块之间的引用,而绝对导入更加明确,适用于独立模块或顶级包下的模块引用。选择哪种导入方式,取决于你的模块结构和项目组织方式。

相关推荐

  1. Python模块导入写法

    2024-06-05 23:18:03       22 阅读
  2. Python模块相对导入

    2024-06-05 23:18:03       56 阅读
  3. Python 模块导入方式

    2024-06-05 23:18:03       26 阅读
  4. MOJO中导入python模块

    2024-06-05 23:18:03       50 阅读
  5. python文件无法作为模块导入

    2024-06-05 23:18:03       30 阅读
  6. Python--Python模块导出与__name__使用

    2024-06-05 23:18:03       27 阅读
  7. ES6模块导入导出方式

    2024-06-05 23:18:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 23:18:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 23:18:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 23:18:03       87 阅读
  4. Python语言-面向对象

    2024-06-05 23:18:03       96 阅读

热门阅读

  1. 【Python音视频技术】用moviepy实现图文成片功能

    2024-06-05 23:18:03       31 阅读
  2. 【Docker学习】docker login/logout

    2024-06-05 23:18:03       27 阅读
  3. mysql 根据经纬度计算距离

    2024-06-05 23:18:03       23 阅读
  4. MFC 用Imm类库实现输入法修改输入模式

    2024-06-05 23:18:03       31 阅读
  5. N叉树的层序遍历-力扣

    2024-06-05 23:18:03       31 阅读
  6. apex代码发送邮件时进行抄送

    2024-06-05 23:18:03       30 阅读
  7. C#语言进阶(二)—事件 第二篇(.net标准事件模型)

    2024-06-05 23:18:03       36 阅读
  8. C#面:.NET Remoting 的⼯作原理是什么

    2024-06-05 23:18:03       29 阅读