2016-06-21 10 views
1

このコードはオンラインクラスのため、この問題はNotepad ++に起因すると感じていますが、何も証明できません。Python 2.7(Anaconda 2) - IndentationError:予期しないインデントメモ帳++自動分離コード

実際のエラーは、次のとおりです。 [Anaconda2] C:\Users\ia566\Desktop\Python>python countorgdb.py File "countorgdb.py", line 20 print pieces ^ IndentationError: unexpected indent

ここ++メモ帳の絵です:

Notepad++ Screen Shot With Error

Notepad++ with line deleted

お知らせどのようにファイルツリーの変更。コードに追加すると、ファイルツリーに余分な分岐が生じ、インデントエラーが発生します。

全コード:

import sqlite3 

conn = sqlite3.connect('jbemaildb.sqlite') 
cur = conn.cursor() 

cur.execute(''' 
DROP TABLE IF EXISTS Counts''') 

cur.execute(''' 
CREATE TABLE Counts (org TEXT, count INTEGER)''') 

fname = raw_input('Enter file name: ') 
if (len(fname) < 1) : fname = 'mbox-short.txt' 
fh = open(fname) 
for line in fh: 
    if not line.startswith('From: ') : continue 
    pieces = line.split() 
    org = pieces[1] 
    print org 
    # Here is were I a am trying to add a print statement and more code. 
    cur.execute('SELECT count FROM Counts WHERE org = ? ', (org,)) 
    row = cur.fetchone() 
    if row is None: 
     cur.execute('''INSERT INTO Counts (org, count) 
      VALUES (?, 1)''', (org,)) 
    else : 
     cur.execute('UPDATE Counts SET count=count+1 WHERE org = ?', 
      (org,)) 
    # This statement commits outstanding changes to disk each 
    # time through the loop - the program can be made faster 
    # by moving the commit so it runs only after the loop completes 
    conn.commit() 

# https://www.sqlite.org/lang_select.html 
sqlstr = 'SELECT org, count FROM Counts ORDER BY count DESC LIMIT 10' 

print 
print "Counts:" 
for row in cur.execute(sqlstr) : 
    print str(row[0]), row[1] 

cur.close() 

は、私はとても怒っ++メモ帳を作るためにやっているかを把握することはできません。私はちょうど私のコードに追加できるようにしたい。

+0

折り返しコードを折り返すと違いが出るのだろうかと思います。私はv8.8.9 ...設定>環境設定で編集を選択し、フォルダマージンスタイルをnoneに設定します。 – runningviolent

答えて

0

インデントエラーは、スペースやタブを正しく使用していない場合に発生します。 4つのスペースでコードをインデントする必要があります。それを試して、役立つかどうか確認してください。

関連する問題