[英]from . import x using __import__?
我如何from . import x
取得成就from . import x
使用__import__
from . import x
(从当前包中导入模块x)?
这是一些失败的尝试:
>>> __import__('.', fromlist=['x'])
ValueError: Empty module name
>>> __import__('.x')
ValueError: Empty module name
如何使用__import__
完成此操作?
内置__import__
的语义与解释器从import
语句生成的字节码相吻合,对于手动使用而言不是特别方便。 如果我正确地了解您要做什么,那么您可以做到:
name = 'x'
mod = getattr(__import__('', fromlist=[name], level=1), name)
在具有importlib
的Python版本中,您也许也可以说服importlib.import_module
以减少importlib.import_module
方式完成您想要的事情,但是我不确定是否可以通过这种方式获得“ from .
”语义。
__import__(__name__, fromlist=['x'])
那应该给您您所需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.