给定一个Python类,我如何在我的代码中检查和查找定义它的位置?

Jos*_*son 5 python

我正在构建一个调试工具.

IPython让我做的事情

MyCls??
Run Code Online (Sandbox Code Playgroud)

它会告诉我源头.

Luk*_*ský 8

sys.modules[MyCls.__module__].__file__
Run Code Online (Sandbox Code Playgroud)

要么

inspect.getsourcefile(MyCls)
Run Code Online (Sandbox Code Playgroud)

您可能会发现有用的各种对象有更多__xxx__属性.