【发布时间】:2022-12-11 07:07:31
【问题描述】:
我正在寻找一些可以像eval() 那样评估 python 表达式的方法或工具,但是当断言导致 False 时,像在 pytest 中那样额外解析变量。
是这样的:
result = smart_eval('4 == a - b', {'a': 10, 'b': 7})
print(result.result, result.explanation, sep='\n')
# False
# 4 == (10 - 7)
当然,评估的表达式可能要复杂得多,并且包含多个嵌套函数调用
也许这个功能可以以某种方式从测试
【问题讨论】:
-
这篇文章似乎是off-topic要求我们推荐或寻找工具、图书馆或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。
-
@YevhenKuzmovych 这绝对与首选工具和意见无关。我正在寻找一种方法来完成问题中描述的确切编程任务。
-
这是直接在the documentation:
globals和locals。