擅长:python、mysql、java
<p>对我来说很有用:</p>
<pre><code>Python 3.6.8 (default, Feb 14 2019, 22:09:48)
[GCC 7.4.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import importlib
>>> importlib.import_module('123_a')
<module '123_a' from '/path/to/123_a.py'>
>>> __import__('123_a')
<module '123_a' from '/path/to/123_a.py'>
</code></pre>
<p>您不会看到包含文字文本“from 123\u uni\u class import…”的实际语法错误,除非您实际有一些包含该行的源代码。你知道吗</p>
<p>如果必须这样做,您还可以完全绕过导入系统,方法是读取文件的内容并<a href="https://docs.python.org/3/library/functions.html#exec" rel="nofollow noreferrer">^{<cd1>}</a>将它们放入您提供的名称空间中。例如:</p>
<pre><code>mod = {}
with open('123_uni_class.py') as fobj:
exec(fobj.read(), mod)
Student = mod['Student']
</code></pre>
<p>例如,这种通用技术用于读取用Python之类的语言编写的配置文件。不过,我不鼓励将其用于正常使用,并建议您只使用有效的模块名。你知道吗</p>