是否有一种可接受的方法从全局命名空间导入所有不是"来自模块导入*"的方法

AOr*_*ona 1 python python-2.7

我有一个小应用程序,我想分成模块,以便我的代码更好的结构和可读性.这样做的缺点是我导入的每个模块使用:

import module
Run Code Online (Sandbox Code Playgroud)

然后我必须将module.object用于我想从该模块访问的任何对象.

在这种情况下,我不想污染全局命名空间,我想用适当的模块名称填充它,以便我不必使用

from module import *
Run Code Online (Sandbox Code Playgroud)

为了在没有模块前置的情况下调用对象.

有没有办法做到这一点,不考虑从进口或进口的不良使用?

hap*_*ave 5

两个合理的选项是使用较短的名称导入前置.例如

import module as m
m.foo()
Run Code Online (Sandbox Code Playgroud)

或者显式导入您计划使用的名称:

from module import (foo,bar)
foo()
Run Code Online (Sandbox Code Playgroud)