if else循环中的indentationError

时间:2014-04-02 09:01:18

标签: python

当我尝试执行以下代码时

for value in jsondata:
    command = value['command'] 
    val = value['value'] 
    print command
    print val

    if command=='sel_media':
        t = find(dirpath + '\\' + myarg)
        t1= capture(t.getX() - 50, t.getY() + 50, t.getW(), t.getH())
        click(t1)

    else:

        print "else inside-----------"

我正在

else:
^
indentationError: unindent does not match any outer indentation level

我不知道为什么会这样? 请纠正我

4 个答案:

答案 0 :(得分:2)

您的代码可能会混合标签和空格以进行缩进。

只需将编辑器设置为永不使用标签即可。所有体面的编程编辑都有这个选项。

答案 1 :(得分:0)

请检查文件中的所有blank,而不是tab。如果您有vim编辑器,则可以通过:set list命令进行检查。

答案 2 :(得分:0)

这可能是因为你的代码中有一个标签。 Python将制表符视为8个空格,但您的编辑器可能设置为将它们显示为4个空格。尝试使用python -t,如果您使用制表符,则会出现错误。

答案 3 :(得分:0)

将代码编辑器设置为使用空格而不是制表符,并将这些制表符设置为4.Python使用4个空格来区分代码块。您也可以尝试使用sublime,它会根据文件类型自动执行此操作。您还可以尝试手动放置4个空格,然后相应地编写代码。希望它有所帮助。