Python3:import 和 importlib.import_module 之间的行为不同?
Python3:import 和 importlib.import_module 之间的行为不同?
我无法动态导入一个模块,但它在代码中导入没有问题,我不知道原因。
我有以下:
> ls lib __init__.py main.py
init文件为空。以下代码可以工作:
> python3 Python 3.4.3 (default, Oct 14 2015, 20:28:29) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import lib.main >>> lib.main.sayyay() yay
以下代码无法工作:
> python3 Python 3.4.3 (default, Oct 14 2015, 20:28:29) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import importlib >>> importlib.import_module("lib.main") <module 'lib.main' from '/some/path/lib/main.py'> >>> lib.main.sayyay() Traceback (most recent call last): File "", line 1, in NameError: name 'lib' is not defined
我已经阅读了importlib文档以及一些在SO上的答案,例如如何使用importlib.import_module在Python中导入模块和动态地从字符串导入文件中的方法
但我缺少什么?
admin 更改状态以发布 2023年5月20日