擅长:python、mysql、java
<p>为了避免重复<code>from <whatever> import *</code>25次,您需要一个循环,例如:</p>
<pre><code>import sys
def _allimports(modnames)
thismod = sys.modules[__name__]
for modname in modnames:
submodname = '%s.%s' % (thismod, modname)
__import__(submodname)
submod = sys.modules[submodname]
thismod.__dict__.update(submod.__dict__)
_allimports('a b c d e'.split()) # or whatever
</code></pre>
<p>我把有意义的代码放在函数中是因为(a)它总是最好的[[为了性能和避免污染模块的名称空间],(b)在这种特殊情况下,它也避免了意外(例如,某些子模块可能定义一个名称<code>thismod</code>或{<cd3>}。。。因此,重要的是要将我们在循环中使用的那些名称保留在函数的本地,<strong>而不是</strong>模块全局变量,这样它们就不会被意外践踏;-)。在</p>
<p>如果要强制一个名为<code>modname</code>的模块只有一个同名的类(或其他全局类),请将循环的最后一个语句更改为:</p>
^{pr2}$