【发布时间】:2015-06-05 16:35:22
【问题描述】:
我在使用 python eval 函数执行多行字符串时遇到问题/
code = '''
def main():
print "this is a test"
main()
'''
eval(code)
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
eval(code)
File "<string>", line 3
def main():
^
SyntaxError: invalid syntax
【问题讨论】:
-
通常不推荐使用
eval。你为什么要这样做? -
IanAuld 我正在编写一个自动 python 分级器,它首先必须执行 Flask 服务器上的 GET 请求接收到的代码
-
@JohnGalt:所以您想执行从网络客户端发送给您的任意代码?这是一个等待发生的安全漏洞,无论用户发送什么都可以轻松接管您的网络进程。
-
我知道,但我会有一个保护系统,防止文件操作和 sql 注入以及其他安全漏洞。