`

IndentationError: unexpected indent python

阅读更多
    都知道python是对格式要求很严格的,写了一些python但是也没发现他严格在哪里,今天遇到了IndentationError: unexpected indent错误我才知道他是多么的严格。
    以后遇到了IndentationError: unexpected indent你就要知道python编译器是在告诉你“Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题,你需要检查下tab和空格了”。
    在windows上你可以用editplus看的,虽然我不知道怎么显示出tab,但是他能显示你的文件是没对齐的,我是在ubuntu上编写python的。我用的是vim,你可以设置下vim中tab用空格替换,我在前一篇文章里写过关于这个设置的问题,我现在在补充一下,之前是在系统目录下设置的,现在我要在home目录下设置;
    首先 cd ~(到你的home目录)
    然后 ls -a(显示隐藏的文件)
    找到.vimrc(记得是带个点前缀的)
    然后编辑这个文件
    找到如下的命令:
16 set autoindent
17 set smartindent
19 set tabstop=4
20 set shiftwidth=4
21 set softtabstop=4
22 set noexpandtab

    然后在set tabstop=4前面加上set expandtab同时你需要把set noexpandtab这个注释掉,怎么注释呢,就是加个双引号。我没试过直接注释不加set expandtab,我想也可以(难道默认是expandtab)。这样你可以放心使用VIM了。
     当然我并不是想就这样完事,我其实想看下我的代码到底哪里会有问题呢,就需要看下他的格式了,主要是看tab,这个可以同样在刚才那个文件里设置,在刚才设置的下面比如说
在set softtabstop=4下面加上一句set list。这句就可以让你的vim打开的文件显示出tab了,当然也许你觉得显示的不好看,他显示的样子是“^I”一个数字键6上那个符号和一个大写的I表示一个tab,这个不会显示出空格。他还会显示出段落的起始符^和终止符$,如果不知道这2个符号可以看下正则表达式。
     以上2点设置以后,我想以后你就不会遇到IndentationError: unexpected indent这个很烦人的错误了。
    以上的set命令都可以单独使用,但是只对当前打开的vim有效,你可以按下shift加冒号,然后输入set XXX,回车然后就有效果了,但是你要再次进入编辑模式才能看到。
    希望分享给每个写python的人。
分享到:
评论
3 楼 chris_007 2014-06-12  
EditPlus显示出tab:视图=>空白=>制表符即可显示出来
2 楼 chris_007 2014-06-12  
我也遇到了同样的问题 格式要求真的很严格啊
1 楼 yanworld 2013-06-18  
引用
我没试过直接注释不加set expandtab,我想也可以(难道默认是expandtab)。


刚刚试了一下,不可以,ubuntu 12.04.
vim 默认是 expandtab

相关推荐

    python出现”IndentationError: unexpected indent”错误解决办法

    python出现”IndentationError: unexpected indent”错误解决办法 Python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误,或者缩进不对 如下图中的代码: 以上代码中第一次运行可以正常...

    python出现"IndentationError: unexpected indent"错误解决办法

    ### Python 出现 "IndentationError: unexpected indent" 错误解决办法 #### 一、错误概述 在Python编程过程中,经常会遇到一个与代码格式相关的错误:“IndentationError: unexpected indent”。这种错误通常出现...

    python常见错误.txt

    (导致"IndentationError:unexpected indent"、"IndentationError:unindent does not match any outer indetation level"以及"IndentationError:expected an indented block") 记住缩进增加只用在以:

    leetcode和oj-python-leetcode:使用Python学习算法

    unexpected indent" That's because python is sensitive to "space", please re-format your code and submit again :) 如果您发现这里的代码拷贝到leetcode无法编译通过,那是github和leetcode对空格的格式不同,...

    17个新手常见Python运行时错误.docx

    如果您错误地使用缩进,将会报IndentationError:unexpected indent、IndentationError:unindent does not match any outer indentation level 或 IndentationError:expected an indented block 错误。 4. 在 for...

    新手常见Python运行时错误汇总.pdf

    9. IndentationError: unexpected indent、IndentationError: unindent does not match any outer indentation level、IndentationError: expected an indented block 在Python中,缩进需要正确使用。例如: print...

    17个新手常见Python运行时错误.pdf

    错误的使用缩进量,会导致“IndentationError: unexpected indent”、“IndentationError: unindent does not match any outer indetation level”、“IndentationError: expected an indented block”错误。...

    新手常见Python运行时错误汇总.docx

    **错误类型**: `IndentationError: unexpected indent`, `IndentationError: unindent does not match any outer indentation level`, `IndentationError: expected an indented block` **原因**: 缩进不正确。 **...

    17个新手常见Python运行时错误

    **错误信息**: `IndentationError: unexpected indent`, `IndentationError: unindent does not match any outer indentation level`, `IndentationError: expected an indented block` **解释**: Python 使用缩...

    励娴投稿1

    上述代码中的`print`语句没有正确缩进,Python会报出`IndentationError: unexpected indent`。解决方法就是确保所有在逻辑块内的代码都有正确的缩进,通常是四个空格。 其次,运行时错误是在程序执行期间发生的错误...

    python学习

    缩进错误通常会导致IndentationError,如“unexpected indent”,这通常是因为混合使用了tab和空格导致的缩进不一致。 3. 缩进和空格的正确使用:在Python中,二元操作符(比如赋值、比较、布尔运算符)两边应各...

    python笔记

    1. **IndentationError: unexpected indent** - 这个异常通常发生在当Python解释器检测到某一行代码的缩进与预期不符时。例如,如果你在一个if语句内部的代码行上使用了不正确的缩进,就会触发此异常。 - 常见的...

    Python初学者常见错误详解

    这将导致`IndentationError: unexpected indent`。确保每个代码块的缩进一致,并在块结束时正确恢复缩进。 4. 变量未定义:在使用变量之前,确保已对其进行初始化。例如: ```python if spam == 42: print('...

    Python新手入门最容易犯的错误总结

    上述代码分别会引发 **IndentationError: unexpected indent**、**IndentationError: unindent does not match any outer indentation level** 和 **IndentationError: expected an indented block** 的错误。...

    linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理

    在Linux环境中,`pip3`是Python 3的包管理工具,用于安装、升级和管理Python软件包。当你遇到“File “/usr/bin/pip3”, line 9, in from pip import mainImportError: cannot import name 'main'”这样的错误时,...

    简明python教程单词解析.pdf

    "IndentationError"表明代码的缩进不正确,例如“unexpected indent”表示遇到了意外的缩进。 "SyntaxError"是另一个常见的错误类型,表示代码违反了Python的语法,比如使用了“invalid syntax”。例如,如果你在不...

Global site tag (gtag.js) - Google Analytics