轉載自:http://blog.163.com/liuyuhuan0915@126/blog/static/78265448201141795730131/
關鍵字: indentationerror: unexpected indent python
都知道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的人。
以后遇到了 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的人。