我正在尝试评估以下制表符缩进的字符串:
'''for index in range(10):
os.system("echo " + str(index) + "")
'''
我得到,“出现错误:语法无效,第 1 行”
它在提示什么?我是否需要缩进以匹配 eval() 语句,或将其写入字符串文件或临时文件并执行它,或其他什么?
谢谢,
最佳答案
eval
评估类似 5+3
exec
执行类似 for ...
>>> eval("for x in range(3):print x")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
for x in range(3):print x
^
SyntaxError: invalid syntax
>>> exec("for x in range(3):print x")
0
1
2
>>> eval('5+3')
8
关于python - 为什么 Python 的 eval() 拒绝这个多行字符串,我该如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698028/