我希望能够计算 Python 中字符串中的任意代码,包括由多个语句组成的代码,以及跨越多行的语句。到目前为止,我尝试过的方法是使用 exec 和 eval,但这些方法似乎只能计算表达式。我也试过 code.InteractiveInterpreter类,但这似乎也只允许使用 eval、exec 或单语句模式进行评估。我试过按行拆分代码,但这无法处理跨越多行的语句。有办法实现吗?
请您参考如下方法:
exec 似乎是您要查找的内容:
s = """
for i in range(5):
print(i)
"""
exec s
打印
0
1
2
3
4
eval() 只处理表达式,而 exec 处理任意代码。
