[英]Excel like scripting language in Python for end users
我正在寻找一种让最终用户从用户界面处理某些数据的方法。 具有类似于Excel语法的脚本引擎可以做到。
例:
输入将是一个dict
,其中包含数据(基本上是脚本的变量名)和带有规则的string
。
input = {'a':1, 'b':2, 'c':'add'}
rule_example_1 = "if(c == 'add',a+b,if(c=='sub',ab,raise ERROR))"'
rule_example_2 = "if c == 'add' return a+b else if c == 'sub' return ab else raise error()"
该脚本必须可以使用自己的功能进行扩展。 也可能是用户可以使用的一些类型的定义。
用例:
基本上,用户的帐户中有一些二维数据(产品详细信息)。 使用一些脚本规则,我想让他们更改产品数据。
例如,如果用户要排除所有以字母X
开头的产品,他们将创建一条规则:
set('product_status', if(starts_with(product_title,'X'), 'skip', ''))
如果产品价格低于10,则用户希望将价格提高20%:
set('product_price', if(product_price < 10, product_price*1.20, product_price)
如果您想要更人性化的内容,也许可以尝试Blockly: https : //developers.google.com/blockly/
您可以轻松地将其与应用程序集成并对其进行自定义,从而创建自己的块来满足用户的需求。
您可能还想看看Mesh: https : //github.com/chrispsn/mesh
也许更简单一些: https : //pypi.python.org/pypi/simpleeval
或者,甚至更简单(但不太安全),也可以使用ast.literal_eval()
; 这是Python标准库的一部分: https : //docs.python.org/3/library/ast.html#ast.literal_eval
另外这个问题可能对您有帮助: Python中的安全表达式解析器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.