是否可以将pycharm配置为使用自定义函数来显示
__str__
调试会话中类型的表示?我指的是内置类型或从第三方库导入的类型,我不想修改它们。
例如,不是调试器中的字符串
{lxml.html.HtmlElement} <Element tr at 0x10e2c1418>
我想要输出
etree.tostring(element)
.
智能思想
Java Type Renderers
在那里你可以设置一个自定义
toString()
方法,以便在调试这些类型时使用
托斯特林()
渲染器。PyCharm中是否提供或可以实现类似的功能?
我尝试过这种方法:
# for lxml.html
lxml.html.HtmlElement.__str__ = lxml.html.etree.tostring
这为
lxml.html
,但这感觉像是一个丑陋的变通方法,我想找到一种不需要
monkey-patching
外部库。
这种方法的缺点是,例如
lxml.etree.Element
因为设置
lxml.etree.Element.__str__ = lxml.etree.tostring
没有效果,因为它委托给
lxml.etree._Element
它是一个只读的c本机模块
小精灵
.