如何在源代码中找到所有隐式转换到布尔值?这包括条件语句(如if x )、循环(如while x )、操作符(如x or y )等,但不包括if x == 0或if len(x) == 0等。我不介意使用静态分析器、IDE、正则表达式或为此目的设计的python库。当然,当x实际上是布尔值时,会出现一些假阳性;这很好。
用例:我发现了强制布尔的错误。当然,这需要手动完成,但是至少确定隐式转换发生的位置
PostgreSQL说:ERROR: null value in column "id" violates not-null constraint
(或者类似的东西,在我的版本中,它是俄语的,所以我在google中找到了英语错误信息)。如何获得有关错误的其他信息?所有表和架构的第一。我必须解析此错误并返回表、模式和字段,其中错误发生在我的系统的较高模块上。这个信息在Oracle和Server中很容易找到,但是如何在