擅长:python、mysql、java
<p>如果只想使导入工作,请添加具有以下内容的<code>subdirectory/__init__.py</code>:</p>
<pre><code>from * import example
from * import timer
</code></pre>
<p>但是,如果您想对任意数量的(旧的和新的)模块执行此操作,我认为<a href="https://stackoverflow.com/a/1057534/604048">this answer</a>可能就是您想要的:</p>
<p>您可以从以下结构开始:</p>
<pre><code>main.py
subdirectory/
subdirectory/__init__.py
subdirectory/example.py
subdirectory/timer.py
</code></pre>
<p>然后从<code>main.py</code>导入<code>subdirectory</code>中的所有内容:</p>
<pre><code>from subdirectory import *
t = timer.timer()
</code></pre>
<p>然后将以下内容添加到<code>subdirectory/__init__.py</code>模块:</p>
<pre><code>from os.path import dirname, basename, isfile, join
import glob
modules = glob.glob(join(dirname(__file__), "*.py"))
__all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not
f.endswith('__init__.py')]
</code></pre>
<p>为了完整起见<code>subdirectory/timer.py</code>模块:</p>
<pre><code>def timer():
return 42
</code></pre>