确定,是否已定义模块名称,无需加载模块

时间:2013-12-21 21:18:28

标签: python

我想允许用户制作模块文件,如果名字没有在Py3k中定义的话。 (在便携式安装中)。例如,如果用户输入“ppp”,我必须首先检查,如果Py安装中存在模块“ppp”(它存在于此处!)并且不允许使用此名称。如果他输入“my_name”我必须允许它,如果输入“ppp”或“json”,我必须禁止它。

任何方式进行此检查而不先进行“导入”?这样的导入可能需要很多记忆。我只想检查是否可以导入模块名称

1 个答案:

答案 0 :(得分:1)

您可以使用pkgutil模块,如下所示:

import pkgutil

def module_exists(m):
    for module_loader, name, ispkg in pkgutil.iter_modules():
        if name == m:
            return True
    return False