同时评估和执行
有没有办法让 python 对字符串进行评估和执行?我有一个文件,其中包含一堆需要计算的表达式,也许是这样的。
f1(ifilter(myfilter,x))
f2(x)*f3(f4(x)+f5(x))
我运行该文件并eval
表达式。
某些表达式可能希望在执行昂贵的操作后保存其工作
y = g(x); h(y)+j(y)
不幸的是,y=g(x)
需要 exec
,但获取 h 的值+j
是一个eval
。这是如何运作的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用内置的
compile()
。当您在单一模式下使用它时,它可以处理您想要的两种情况。例如:将返回一个编译后的代码对象。您可以使用 exec() 或 eval() 执行它:
Try using the builtin
compile()
. When you use it in single mode it handles both of the cases that you want. For example:will return a compiled code object. You can execute it with exec() or eval() :