You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中exec()循环内出现Unexpected Indent错误的解决方法

解决Python中exec代码的"Unexpected Indent"错误

你的问题出在exec执行的字符串内容里带有多余缩进。Python对代码缩进要求严格,当exec运行带缩进的代码字符串时,解释器会把这些缩进视为意外的语法结构,从而抛出错误。

解决方法一:直接移除字符串内的缩进

把exec里的代码字符串内容对齐到最左侧,避免多余缩进:

def f(x): 
    return x 

for i in range(10): 
    exec(f"""v_{i} = f(i)""")

如果需要换行保持代码可读性,也要确保内容没有缩进:

for i in range(10): 
    exec(f"""
v_{i} = f(i)
""")

解决方法二:用textwrap.dedent自动处理缩进

如果希望代码书写时保持缩进(提升可读性),可以使用textwrap模块的dedent函数,它会自动移除字符串中所有行开头的共同空白部分:

import textwrap

def f(x): 
    return x 

for i in range(10): 
    exec(textwrap.dedent(f"""
    v_{i} = f(i)
    """))

这样既保留了代码书写时的缩进格式,又能让exec执行的代码没有多余缩进,避免语法错误。

内容的提问来源于stack exchange,提问作者Y Bai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:06:29