3 回答
TA贡献1817条经验 获得超14个赞
你可以做
puzzle = __import__('8puzzle')
非常有趣的问题。我会记住不要用数字命名。
如果您愿意import *-您应该查看此问题和答案。
TA贡献2051条经验 获得超10个赞
上面的答案是正确的,但是到目前为止,推荐的方法是使用import_modulefunction:
importlib.import_module(name, package=None)
导入模块。name参数以绝对或相对术语(例如pkg.mod或..mod)指定要导入的模块。如果名称是用相对术语指定的,则必须将package参数设置为要用作解析包名称的定位符的包的名称(例如,import_module('..mod', 'pkg.subpkg')import pkg.mod)。
import_module()函数充当的简化包装 importlib.__import__()。这意味着该函数的所有语义均源自importlib.__import__()。这两个函数之间最重要的区别在于,它import_module()返回指定的程序包或模块(例如pkg.mod),而__import__()返回顶级程序包或模块(例如pkg)。
如果要动态导入自解释程序开始执行以来创建的模块(例如,创建了Python源文件),则可能需要调用invalidate_caches()以便导入系统注意到新模块。
__import__ 现在不推荐。
importlib.__import__(name, globals=None, locals=None, fromlist=(), level=0)
内置__import__()功能的实现。
注意应该以编程方式导入模块,import_module()而不要使用此功能。
添加回答
举报