为什么 Python 的 eval() 拒绝这个多行字符串,我该如何修复它?

2023-12-31

我正在尝试评估以下制表符缩进字符串:

'''for index in range(10):
        os.system("echo " + str(index) + "")
'''

我得到“出现错误:语法无效,第 1 行”

它在抱怨什么?我是否需要缩进以匹配 eval() 语句,或者将其写入字符串文件或临时文件并执行它,或者其他什么?

Thanks,


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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Python 的 eval() 拒绝这个多行字符串,我该如何修复它? 的相关文章

随机推荐