我想允许用户制作模块文件,如果名字没有在Py3k中定义的话。 (在便携式安装中)。例如,如果用户输入“ppp”,我必须首先检查,如果Py安装中存在模块“ppp”(它存在于此处!)并且不允许使用此名称。如果他输入“my_name”我必须允许它,如果输入“ppp”或“json”,我必须禁止它。
任何方式进行此检查而不先进行“导入”?这样的导入可能需要很多记忆。我只想检查是否可以导入模块名称 。
答案 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