如何找到Python类的定义位置

Iva*_*tyk 7 python

假设我在Python项目中有一个数字,我想找出一个特定类定义的包/模块(我知道类名).有没有一种有效的方法呢?

Rah*_*pta 11

您可以使用该inspect模块获取定义模块/包的位置.

inspect.getmodule(my_class)
Run Code Online (Sandbox Code Playgroud)

样本输出:

<module 'module_name' from '/path/to/my/module.py'>
Run Code Online (Sandbox Code Playgroud)

按照文档,

inspect.getmodule(object)
尝试猜测定义了一个对象的模块.

  • 你知道猜测部分是什么意思吗?什么时候会出错呢? (2认同)
  • 使用“inspect.getmodule(my_class).__file__”来获取猜测的文件名。 (2认同)