【发布时间】:2020-12-02 17:22:25
【问题描述】:
我正在尝试对接受模块对象module 和该模块内类型为type_name 的字符串的方法进行文档测试:
def get_type_from_string(module, type_name):
"""
>>> class A: pass
>>> A.__module__
'mymodule'
>>> get_type_from_string(sys.modules['mymodule'], 'A')
<class '__mymodule__.A'> <------ fails
"""
return getattr(module, type_name)
当我尝试使用 getattr 获取类型对象时(实际上,该方法不仅仅如此),我收到了错误:
AttributeError: module 'mymodule' has no attribute 'A'
是否可以在无需在文档测试之外定义 A 类的情况下对该方法进行文档测试?
【问题讨论】:
-
你是如何导入
mymodule的?doctest.testmod()是在哪里调用的?
标签: python python-module doctest getattr