IndentationError: unexpected indent python

轉自:http://dikar.iteye.com/blog/308934

這哥們總結的挺好的,所以轉載過來備忘,在此表示感謝。

原文如下:

都知道python是對格式要求很嚴格的,寫了一些python但是也沒發現他嚴格在哪裏,今天遇到了IndentationError: unexpected indent錯誤我才知道他是多麼的嚴格。 
    以後遇到了IndentationError: unexpected indent你就要知道python編譯器是在告訴你“Hi,老兄,你的文件裏格式不對了,可能是tab和空格沒對齊的問題,你需要檢查下tab和空格了”。 
    在windows上你可以用editplus看的,雖然我不知道怎麼顯示出tab,但是他能顯示你的文件是沒對齊的,我是在ubuntu上編寫python的。我用的是vim,你可以設置下vim中tab用空格替換,我在前一篇文章裏寫過關於這個設置的問題,我現在在補充一下,之前是在系統目錄下設置的,現在我要在home目錄下設置; 
    首先 cd ~(到你的home目錄) 
    然後 ls -a(顯示隱藏的文件) 
    找到.vimrc(記得是帶個點前綴的) 
    然後編輯這個文件 
    找到如下的命令: 
16 set autoindent 
17 set smartindent 
19 set tabstop=4 
20 set shiftwidth=4 
21 set softtabstop=4 
22 set noexpandtab
 
    然後在set tabstop=4前面加上set expandtab同時你需要把set noexpandtab這個註釋掉,怎麼註釋呢,就是加個雙引號。我沒試過直接註釋不加set expandtab,我想也可以(難道默認是expandtab)。這樣你可以放心使用VIM了。 
     當然我並不是想就這樣完事,我其實想看下我的代碼到底哪裏會有問題呢,就需要看下他的格式了,主要是看tab,這個可以同樣在剛纔那個文件裏設置,在剛纔設置的下面比如說 
在set softtabstop=4下面加上一句set list。這句就可以讓你的vim打開的文件顯示出tab了,當然也許你覺得顯示的不好看,他顯示的樣子是“^I”一個數字鍵6上那個符號和一個大寫的I表示一個tab,這個不會顯示出空格。他還會顯示出段落的起始符^和終止符$,如果不知道這2個符號可以看下正則表達式。 
     以上2點設置以後,我想以後你就不會遇到IndentationError: unexpected indent這個很煩人的錯誤了。 
    以上的set命令都可以單獨使用,但是隻對當前打開的vim有效,你可以按下shift加冒號,然後輸入set XXX,回車然後就有效果了,但是你要再次進入編輯模式才能看到。 
    希望分享給每個寫python的人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章