Skip to main content
 首页 » 编程设计

python之如何评估 Python 中的任意代码

2025年05月04日10sharpest

我希望能够计算 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 处理任意代码。