在Python中,如果要以编程方式导入模块,可以执行以下操作:
module = __import__('module_name')
Run Code Online (Sandbox Code Playgroud)
如果要导入子模块,您会认为这只是一个简单的问题:
module = __import__('module_name.submodule')
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用; 你module_name再来一次 你必须做:
module = __import__('module_name.submodule', fromlist=['blah'])
Run Code Online (Sandbox Code Playgroud)
为什么?实际值fromlist似乎根本不重要,只要它不是空的.要求一个论点,然后忽略它的价值观有什么意义呢?
Python中的大多数东西似乎都是有充分理由的,但对于我的生活,我无法对这种行为存在任何合理的解释.
当使用__import__带点名称时,类似于:somepackage.somemodule,返回的模块不是somemodule,返回的任何内容似乎都是空的!这里发生了什么?