2015-04-01 101 views
1

由於某種原因,在我的Python文件在IDLE的末尾,我得到一個縮進錯誤,即使代碼塊有適當的間距量。另外,當我嘗試運行並被告知有關錯誤時,它實際上突出顯示了代碼後面的整行,而不是突出顯示一行錯誤縮進代碼之前的字符,正如通常那樣。在文件末尾的意外的縮進錯誤

這裏有一個屏幕截圖,展示它突出: Syntax Error Highlighting Unusual Place

以供參考,這是突出一個明確真正的縮進問題時的樣子: Syntax Error Highlighting Normal Place

代碼本身就同這種形式的問題:

if yes.lower() == 'y': linkFiles(folders) 
raw_input(iprint('= Script Finished, press enter to quit.',True)) 

and this form:

if yes.lower() == 'y': 
    linkFiles(folders) 
raw_input(iprint('= Script Finished, press enter to quit.',True)) 

另外是的,我已確認我不混合標籤和空格。只需在所有這些行上使用空格。

我還檢查了文件末尾的任何空格,但即使在右括號之後沒有任何字符,也會發生相同的錯誤。試圖運行該腳本確實會添加一個換行符,但沒有別的。

由於每一個建議,我也嘗試通過命令行來運行它,基本上得到了相同的結果:

C:\Windows\system32>python "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py" 
    File "C:\Users\ntreanor\Desktop\User Friendly Scripts\Create file links.py", line 135 

                      ^
IndentationError: unexpected unindent 
+2

嘗試將光標放在最後關閉')'後,按住Shift並點擊結束以選擇該行的末尾,然後點擊刪除。最後,按Enter鍵添加換行符,保存文件並再次運行。這有幫助嗎? – MattDMo 2015-04-01 16:52:15

+0

我剛剛檢查過,但即使在刪除所有空白後發生錯誤。當我嘗試運行腳本時,它確實在最後生成了一個換行符,但沒有別的不同。 – SuperBiasedMan 2015-04-01 16:56:39

+0

如果通過命令行而不是通過IDE運行程序,會發生什麼情況?是否產生了任何錯誤? – MattDMo 2015-04-01 17:00:27

回答

7

這竟是方式更加簡單,比我還以爲。

我在寫一個try:除了:阻止整個腳本,基本上是因爲我正在寫日誌,我希望它能夠吐出所有例外我進入日誌,以便我可以在事後進行故障排除人們已經使用我的腳本。這是來自另一個問題的細節here

問題是我在編寫腳本時被打斷,忘記了我已經添加了try但不是except。所以實際的錯誤是我除了塊以外都缺少整體。一旦我什至剛加入

except: pass 

在最後,它運行良好。