我想从一个模块中为一组模块(glob:invenio.webtag*
)运行doctest
,但我需要一种方法来导入所有这些(并且只导入这些)模块并在所有模块上运行doctest.testmod()
。有什么想法吗?在
编辑:解决方案:
import doctest
import glob
import os
import pkgutil
pkgpath = pkgutil.extend_path([], 'invenio')[0]
for module_path in glob.glob(pkgpath + '/webtag*.py'):
module_name = os.path.splitext(os.path.basename(module_path))[0]
module = __import__('invenio.' + module_name)
doctest.testmod(module)
可以使用
__import__
动态加载模块,例如然后传递给
^{pr2}$testmod
,例如假设您可以使用glob.glob或从os.listdir过滤结果来构建匹配模块的列表,那么您应该能够使用这种方法。在
更新:
要导入
invenio.webtag
请尝试使用fromlist:有关说明,请参见this documentation。在
相关问题 更多 >
编程相关推荐