首页 > 解决方案 > inspect.getsourcelines 新失败:TypeError:是一个内置类

问题描述

我更新到 Python 3.8,现在这不再起作用了:

class A:
    def __init__(self):
        self.epochs = 30

        self._code = None

    def save_code(self):
        import inspect
        self._code = ''.join(inspect.getsourcelines(self.__class__)[0])
a = A()
a.save_code()

给出这个错误

TypeError: <class '__main__.A'> is a built-in class

以前可以正常工作。我知道只有当您引用用 C 编写的源代码而不是 Python 编写的源代码时才应该引发这种类型的错误,但这不是 C API!

标签: python

解决方案


推荐阅读