文件名称:使用相对路径名导入包中子模块-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:49
Python cookbook 中文 参考
10.3 使用相对路径名导入包中子模块 问题 将代码组织成包,想用 import 语句从另一个包名没有硬编码过的包中导入子模 块。 解决方案 使用包的相对导入,使一个模块导入同一个包的另一个模块 举个例子,假设在 你的文件系统上有 mypackage 包,组织如下: mypackage/ __init__.py A/ __init__.py spam.py grok.py B/ __init__.py bar.py 如果模块 mypackage.A.spam 要导入同目录下的模块 grok,它应该包括的 import 语句如下: # mypackage/A/spam.py from . import grok 如果模块 mypackage.A.spam 要导入不同目录下的模块 B.bar,它应该使用的 import 语句如下: # mypackage/A/spam.py from ..B import bar 两个 import 语句都没包含顶层包名,而是使用了 spam.py 的相对路径。