2017-06-11 9 views
0

私はいくつかのocrものを行う次のコードを持っています。これが完了したら、私はいくつかのウィンドウを生成したい。しかし、私は私のコードを実行するたびに私は13行目で次のエラーが発生します:unindent does not match any outer indentation level私はこれは私のコードで奇妙なインデントを参照してくださいいけないので変だと思う。以下の私のコードを参照してください:tkinterのpythonインデントエラー

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に非常に新しいですが、私は他の言語のいくつかの従来のプログラミング経験を持っています。どんな助けでも大歓迎です!

+1

をチェックPythonプログラム

のタブを使用しないことをお勧めします。それは私が持っている最高の推測だ – SarathSprakash

+0

それはチェックを与える悪い – FutureCake

+1

あなたは質問のソースでそれを見ることができます。 'display = ...'行はタブでインデントされ、下の行は4つのスペースでインデントされています。 –

答えて

1

スペースがインデント

ための好ましい方法であるあなたがあなたのインデント空白でタブとスペースを混合されていませんか? (これは、そのエラーの原因となります。)

注意を、あなたがあなたのコード内でタブとスペースが混在している場合がありますTabs or spaces?

0

このエラーは、コードで表と表記を混在していることを示しています。エディタで、タブを強調表示して4つのスペースに置き換えることができるコードを確認します。

関連する問題