Python 3.6缩进报错:播放音频时出现制表符与空格混用错误
修复"Inconsistent use of tabs and spaces in indentation"错误并修正你的音频播放脚本
Hey Andy, 这个报错是Python里最容易踩的缩进坑之一——你的代码里同时混用了制表符(Tab)和空格来缩进,而Python对缩进的一致性要求特别严格,所以直接抛出了这个错误。
问题根源
Python是靠缩进区分代码块的,同一个代码块里的每一行必须用相同的缩进方式:要么全用空格(推荐4个空格,符合PEP8编码规范),要么全用Tab,绝对不能混着来。你这段代码里的if语句块大概率是有的行用了Tab,有的用了空格,导致解释器无法识别正确的代码结构。
解决步骤 & 修正后的代码
- 统一缩进风格:建议直接用4个空格作为缩进(行业通用规范),避免使用Tab
- 检查编辑器设置:把编辑器的缩进自动转换为空格(比如VS Code里可以在设置中开启
editor.insertSpaces: true,并设置editor.tabSize: 4) - 修正你的代码:把
if语句块里的代码正确缩进,同时拆分长行让代码更易读:
if flag >= frame_check: # 播放警告提示音 winsound.Beep(freq, duration) # 在帧顶部绘制红色危险提示 cv2.putText(frame, "****************DANGER!****************", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2) # 在帧底部绘制红色危险提示 cv2.putText(frame, "****************DANGER!****************", (10, 325), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)
小技巧
开启编辑器的「显示空白字符」功能(比如VS Code按Ctrl+Shift+P搜索"Toggle Render Whitespace"),这样就能直观看到哪些是Tab(显示为→)哪些是空格(显示为·),快速定位并修正混用的缩进。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

