2014-03-05 104 views
0

我剛剛開始學習python並現在編寫我正在學習如何編寫文件。如果看起來沒有無效的語法,我會一直收到這個無效的語法錯誤。PYTHON無效的語法,爲什麼這是無效的?

OUTF = open('ex6.gettysburg.OUT.txt', 'w') 
OUTF.write('The text file has '+str(len(getty_toks))+' word tokens\n') 
OUTF.write('and '+str(len(getty_freq.keys()))+' unique word types.\n') 
OUTF.write('\n') 
OUTF.write('The top ten most frequent words are:\n') 
for w in sorted(getty_freq, key=getty_freq.get)[:10] : 
    OUTF.write(w+"\t"+str(getty_freq[w]+'\n'), 
OUTF.write('\nThe top ten longest words are:\n') 
OUTF.close() 

的地方,據說誤差是是在OUTF.close(的「OUTF」),我已經試過重新鍵入,並刪除它周圍的所有空間或在上面添加一個標籤。我已經還試圖看看錯誤是否真的是混合空格和縮進,而不是它。幫助

+0

什麼是錯誤您收到? – Stormvirux

+0

在這裏發佈你的回溯plz – zhangxaochen

+0

它只是說「無效的語法」,錯誤缺少一個缺失的括號。 – Rubyredriots

回答

1

缺少閉括號)在這一行:

OUTF.write(w+"\t"+str(getty_freq[w]+'\n'), 

它應該是:

OUTF.write(w+"\t"+str(getty_freq[w])+'\n') 
#----------------------------------^ 
3

你有一個額外的逗號。

for w in sorted(getty_freq, key=getty_freq.get)[:10] : 
    OUTF.write(w+"\t"+str(getty_freq[w]+'\n'), # right here 

刪除它並關閉括號,並且所有都應該很好,語法明智。

+0

花了我一分鐘的時間來發現它,所以OP不知所措。好眼睛! – holdenweb

+1

好眼睛。雖然語法錯誤實際上不是逗號,這是左括號永遠不會關閉。你提到哪個。如果OP關閉括號,腳本實際上也可以用逗號工作。 –