检查x是否为模的Python方法

v1uwarro  于 2023-03-11  发布在  Python
关注(0)|答案(2)|浏览(116)

这适用于内置类型(str、list、int等)和正确导入的类,但不适用于模块:

type(x) is module #NameError: name 'module' is not defined.

解决方法如下:

str(type(x)) == "<class 'module'>"
type(x) is type(os) # Or any imported module object.

但有没有更“Python”的方法?

lmyy7pcs

lmyy7pcs1#

可以使用inspect模块,也可以使用具有适当类型的isinstance

>>> import inspect
>>> import types
>>> inspect.ismodule(inspect)
True
>>> isinstance(inspect, types.ModuleType)
True
iklwldmw

iklwldmw2#

是的,有一种更好、更“Python式”的方法可以做到这一点。你可以使用Python内置的inspect模块。inspect模块提供了几个函数,允许你检查对象的类型,包括模块!

相关问题