将 pkg.sub 导入为 other.sub

importing pkg.sub as other.sub

我没有这个问题,但在处理相关问题时想到了这个问题。让我们有:

logging = 'something'  # bad naming decision
import logging as lg   # using a different name

如何在不覆盖原始 logging 的情况下将 logging.config 导入为 lg.config

经过一些测试,我发现了这个:

import logging.config as _  # any unused name

但这真的正确吗?有没有更好的解决方案?

设置别名后仍然需要使用完整路径导入,但仍然可以使用别名调用子模块:

import my_module as mm
import my_module.sub_module

mm.sub_module

做这样的事情怎么样?

import logging as lg
from logging import config

此后 configlg.config 都引用 logging.config

In [3]: config
Out[3]: <module 'logging.config' from 'C:\Anaconda3\lib\logging\config.py'>

In [4]: lg.config
Out[4]: <module 'logging.config' from 'C:\Anaconda3\lib\logging\config.py'>