python代码拷贝时,常常报TabError错误
Python 缩进语法严格区分 Tab(制表符) 和 空格,不能混用。 一段代码里一部分用 Tab 缩进、一部分用空格缩进,解释器直接报错: TabError: inconsistent use of tabs and spaces in indentation
规则
- 官方推荐:全程只用 4 个空格做缩进,禁止混合 Tab;
- Tab 在不同编辑器宽度显示不一样(有的 4 格、有的 8 格),肉眼看着对齐,实际字节不等,Python 判定缩进错乱。
1. 编辑器设置(根治,推荐)
VS Code
- 右下角显示
Spaces:4/Tab Size:4 - 点击 → 选择「Convert Indentation to Spaces」把全文 Tab 转空格
- 永久配置:
// settings.json
{
"editor.insertSpaces": true,
"editor.tabSize": 4,
"editor.detectIndentation": false
}
按 Tab 自动插入 4 个空格,不会生成制表符。
一键格式化工具
- autopep8
pip install autopep8
autopep8 test.py -i
- ruff(更快,2026 主流)
pip install ruff
ruff format test.py
自动把所有 Tab 转为空格、统一缩进、修复 PEP8 规范。




