首页 > 解决方案 > 当有同名的包时,如何在 Python 3 中加载模块?

问题描述

在处理一些遗留的 Python 包时,我注意到有一个子包隐藏了一个同名的模块。这是显示问题的简化文件层次结构:

t/
t/__init__.py
t/u/
t/u.py
t/u/__init__.py

如您所见,有一个python模块t/u.py,还有一个子包t/u/。看起来像一个标准import语句加载子包:

$ python3
Python 3.5.2 (default, Oct  8 2019, 13:06:37) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import t.u
__init__.py
>>> 

但是,有没有办法导入模块t/u.py呢?

标签: python-3.xpython-importpython-3.5

解决方案


也许from t import ufrom tu import u工作


推荐阅读