python tkinter 上的缩进错误

python indent error on tkinter

我有以下代码可以执行一些 ocr 操作。完成后我想生成一些 windows。但是每当我 运行 我的代码时,我都会在第 13 行收到以下错误: unindent does not match any outer indentation level 我认为这很奇怪,因为我在我的代码中没有看到任何奇怪的缩进。请参阅下面的代码:

import Tkinter as tk
from os import *
from PIL import Image
from tesserocr import PyTessBaseAPI, RIL

root = tk.Tk()
tk.Label(root, text="this is the root window").pack()
root.geometry("200x20")

def window(x, y, w, h):

    display = tk.Toplevel()

下面的行产生了错误:

    display.geometry('%dx%d+%d+%d' % (w, h, x, y))
    tk.Label(display, text="sensitive info").pack()


def main():
    path = "~/Desktop/media_argeology/Check_sensitive/"
    system("mkdir -p {0}".format(path) )    
    system("screencapture {0}temp.png".format(path) ) 
    system('sips -Z 4000 temp.png')


    image = Image.open('temp.png')
    with PyTessBaseAPI() as api:
        api.SetImage(image)
        boxes = api.GetComponentImages(RIL.TEXTLINE, True)
        for i, (im, box, _, _) in enumerate(boxes):
            window(box['x'], box['y'], box['w'], box['h'])


    print "exit first function"



main()
root.mainloop()

我是 python 的新手,但我确实有一些其他语言的编程经验。非常感谢任何帮助!

此错误表明您在代码中混用了制表和四个空格缩进。在能够突出显示制表符并将其替换为四个空格的编辑器中检查您的代码。

空格是缩进的首选方法

您确定您没有在缩进白色 space 中混用制表符和 space 吗? (这将导致该错误。)

注意,建议您不要在Python程序中使用制表符

查看 Tabs or spaces?