这是一个复杂的问题(至少对我来说是这样),我希望有一本书/网站/博客可以让我有一个起点。有人能告诉我在哪里可以找到用python编写脚本的信息,在那里它读取一堆逻辑语句,并将该逻辑应用于正在读入的一堆数据?我可以用一种非声明的方式来完成这项工作,但这意味着任何时候有一个新的逻辑语句,我都需要编写新的代码来处理它。如果我可以编写一些可以解释逻辑语句的通用脚本,那么我就不需要继续编写代码来跟上新的逻辑语句。在
我要做的是我有3个文件我的脚本将读取。两个长度相等的文件包含两个度量的值。第三个是包含逻辑语句的文件。我希望脚本读入逻辑语句,并将这些语句应用于数字,并在满足这些语句的情况下编写消息。在
例如,文件1将包含:
1
2
3
4
5
6
文件2将包含:
^{pr2}$文件3将包含:
m1 >=3 && (m1 + m2) >= 11
如果我运行我的脚本,我希望它输出
m1 = 4 and m2 = 8 fulfills condition m1 >= 3 && (m1 + m2) >= 11
m1 = 5 and m2 = 10 fulfills condition m1 >= 3 && (m1 + m2) >= 11
如果您信任数据并且可以用Python语法编写逻辑语句,那么可以使用^{} 并为其提供表达式和两个值:
对于“if you trust it”,我的意思是它不应该包含像“delete my whole hard disk”这样的函数调用。因为
eval
会运行它。在我得自己试试。。。在
^{pr2}$我会使用eval函数。在
警告
eval()
以python代码的形式执行所有内容,所以如果用户可以输入语句,他就可以运行任何东西。在某些网站上可能非常危险。您总是可以在求值之前分析语句。在安全检查示例:
^{pr2}$只使用允许的标记(白名单)。很可能需要向
safe_tags
添加samo more标记按照@AdamSmith的建议,使用SQL进行操作。问题是
condition
仍然容易受到SQL注入攻击,因此与eval相比并没有任何优势相关问题 更多 >
编程相关推荐