注意python中的变量更改

问题描述 投票:15回答:5

有一个大型的python项目,其中一个类的一个属性在某处只是错误的值。

应该是sqlalchemy.orm.attributes.InstrumentedAttribute,但是当我运行测试时,它是恒定值,比方说字符串。

有某种方法可以在调试模式下运行python程序,并在每一步自动通过代码行之后运行一些检查(如果变量更改了类型?)>

P.S。我知道如何在检查和属性装饰器的帮助下记录类实例的属性的更改。可能我可以在元类中使用此方法...

但是有时候我需要更通用,更强大的解决方案...

谢谢。

P.P.S。我需要类似的内容:https://stackoverflow.com/a/7669165/816449,但可能需要更多有关该代码中发生的情况的说明。

[有一个大型python项目,其中一类的一个属性在某些地方只是具有错误的值。它应该是sqlalchemy.orm.attributes.InstrumentedAttribute,但是当我运行测试时,它是常量...

python debugging introspection pdb
5个回答
12
投票

嗯,这是一种slow


1
投票

您可以使用python debugger module(标准库的一部分)


1
投票

尝试使用__setattr__Documentation代表__setattr__


1
投票

监视对象属性更改(也可以是模块级变量或可以用getattr进行访问的任何东西)的更简单方法是利用hunter库,灵活的代码跟踪工具包


0
投票
Debugger
© www.soinside.com 2019 - 2024. All rights reserved.