首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SymPy:安全解析字符串

SymPy:安全解析字符串
EN

Stack Overflow用户
提问于 2014-01-15 07:09:59
回答 1查看 555关注 0票数 5

SymPy附带了一个很好的渐近()函数,它可以将任意字符串解析成SymPy表达式。但是它有两个主要的缺点:

  1. 这是不安全的,因为它依赖臭名昭著的eval()
  2. 它自动简化了读取表达式。例如,渐近(‘二项式(5,3)’)将返回表达式10。

所以我的问题是:

首先,有没有一种方法可以“解析”字符串,而不需要任何额外的计算?我想达到这样的效果:

代码语言:javascript
复制
latex(parse('binomial(5,3)')) #returns '{\\binom{5}{3}}'

第二,是否有一种公认的方法可以在保持安全的同时对任意用户生成的字符串进行渐进(即解析和计算)?这是由SymPy Gamma完成的,所以在实践中是可能的,但问题是需要做多少肮脏的工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-16 02:21:40

查看SymPy解析模块中的内部函数。

没有官方的方法去做这件事。我们需要重写同情以避免伊娃。请注意,SymPy伽玛只使用渐变。它仍然安全,因为它是沙箱应用引擎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21131128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档