SymPy配备了很好的sympify()函数,它可以将任意字符串解析为SymPy表达式.但它有两个主要缺点:
所以我的问题是:
首先,有没有办法"只解析"字符串,而无需任何额外的计算?我想实现这样的效果:
latex(parse('binomial(5,3)')) #returns '{\\binom{5}{3}}'
Run Code Online (Sandbox Code Playgroud)
第二,是否有一种可接受的方式来同意(即解析和计算)任意用户生成的字符串,同时保持安全?这是由SymPy Gamma完成的,所以在实践中这是可能的,但问题是需要多少脏工作.
查看SymPy解析模块中的内部函数。
没有官方的方法可以做到这一点。我们需要重写 sympify 以避免 eval。请注意,SymPy gamma 仅使用 sympify。它仍然安全,因为它在 App Engine 上沙箱化。
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |