2016-08-22 48 views
1

我使用4個空格進行縮進,但出現語法錯誤。當我在文本編輯器中使用縮進時,工作正常。文本編輯器只創建1個塊,我無法編輯它。是否有空格不能用作縮進?用於縮進的4個空格 - 語法錯誤

def replace_line(file_name, line_num, text): 
    try: 
      lines = open(file_name, 'r').readlines() 
      lines[line_num] = text 
      out = open(file_name, 'w') 
      out.writelines(lines) 
      out.close() 
     if not var and not var2: 
      return 

我得到的語法錯誤,如果不是var行。

+1

請提供拋出錯誤的代碼。一般來說,空間非常好。 – Karin

+2

從您的描述中,您聽起來像是混合了製表符和空格。 –

回答

6

如果你要因爲它凹痕最可能相關的事實,你的代碼包括TABS空間壓痕的方法的語法錯誤。儘管代碼可能會從左側縮進相同數量,但一個TAB是一個符號,而使用相同的縮進需要4(在您的情況下)符號。 Python嚇壞了,並且拋出一個錯誤,因爲它沒有看到你看到的代碼的呈現,它看到在該行之前使用的符號數量不一致。

要解決這個問題,首先用所有選項卡替換爲相應的空格,然後仔細檢查代碼並確保代碼中的所有縮進都是有效且正確的。如果您使用的是像Sublime Text這樣的編輯器,那麼您可以通過點擊一下或兩下來完成此操作,而使用更原始的編輯器則可能會比較單調乏味。

希望這會有幫助

+0

不幸的是,錯誤仍然存​​在。 – Dzrte4gle

+0

檢查縮進。我看到'lines = open(file_name,'r')行。readlines()'縮進3次而不是2('def'爲1,'try'爲1) –

0

拋出異常:通過解決它。從文本編輯器使用縮進時不需要。這很奇怪。