擅长:python、mysql、java
<p>不确定在什么意义上您希望有一个“更好”的方法来完成它,但您可以简单地将代码封装在如下函数中:</p>
<pre><code>import importlib.util
def import_from(modulename, modulepath, *names):
spec = importlib.util.spec_from_file_location(modulename, modulepath)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return tuple(getattr(module, name) for name in names)
</code></pre>
<p>然后你可以做:</p>
<pre><code>import sys
modulepath = sys.argv[1]
func1, func2, func3 = import_from('modulename', modulepath, 'func1', 'func2', 'func3')
</code></pre>