在Python 3.6
中加载模块时出现错误。
spec = importlib.util.spec_from_file_location(load_module,path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
我收到以下错误:
mod = importlib.util.module_from_spec(spec) File "<frozen importlib._bootstrap>",
line 568, in module_from_spec AttributeError: 'NoneType' object has no attribute 'loader'
我该如何以正确的方式做到?
过去,我一直在使用:
mod = importlib.import_module(load_module)
在路径中包含模块的路径。这适用于python 3.7
答案 0 :(得分:0)
因此您可以像这样通过编程方式导入模块:
my_module = importlib.import_module('my_module')
要指定自定义路径,可以使用:
spec = importlib.util.spec_from_file_location(module_name, file_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
如果下面出现错误,则意味着spec_from_file_location
无法找到您指定并返回None
的模块和路径。
in module_from_spec AttributeError: 'NoneType' object has no attribute 'loader'