繁体   English   中英

python odoo中safe_eval的用途

[英]Purpose of safe_eval in python odoo

Python odoo中safe_eval的目的是什么? 并使用safe_eval。 我已经检查了几个自定义模块,他们有安全的评估功能。

safe_eval:

  • 包含旨在提供更有限的替代方法以评估简单和/或不可信代码的方法的模块。

  • 此模块中的方法通常用作eval()的替代方法,用于解析OpenERP域字符串,条件和表达式,主要基于locals condition / math builtins。

用法:

safe_eval(expression[, globals[, locals[, mode[, nocopy]]]]) -> result

系统限制的Python表达式评估

计算包含表达式的字符串,该表达式主要使用Python常量,算术表达式和直接在上下文中提供的对象。

这可用于例如评估来自不可信来源的OpenERP域表达式。

  • throws TypeError:如果提供的表达式是代码对象
  • 抛出SyntaxError:如果提供的表达式不是有效的Python
  • throws NameError:如果提供的表达式访问了禁止的名称
  • 抛出ValueError:如果提供的表达式使用禁用字节码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM