2016-09-07 44 views
0

我剛剛從git倉庫中取回用戶在Python 2上。我的系統運行的是Python 3,並且沒有更改代碼,出現此錯誤:將.py文件轉換爲正確的Python編碼3

TabError: inconsistent use of tabs and spaces in indentation 

看來解決方案是更改.py文件的字符集編碼,但在emacs中工作,我不清楚如何執行此操作。我看到這些說明:

https://www.emacswiki.org/emacs/ChangingEncodings

,但我不明白如何應用這些爲UTF-8。我會很感激任何建議。

+0

[Make Emacs在Python交互模式下使用UTF-8]的可能副本(http://stackoverflow.com/questions/888406/make-emacs-use-utf-8-with-python-interactive-mode) – JackCC

回答

1

存在命令untabify空格替換所有的文件全部製表符:

在轉換區域內多個空格所有選項卡,保留列。 如果使用前綴ARG交互調用,則轉換爲整個 緩衝區。

I.e.用C-u調用它來轉換緩衝區中的所有TAB。

正如評論指出的那樣:tabify做了相反處理,將多個空格轉換爲製表符 - 使用空格似乎不僅僅是Python中的常見約定。

+0

可能需要包含反向命令'tabify',它反向執行相同的操作(將多個空格轉換爲製表符)。 – JackCC

0

這不是一個python 2/3的問題,它看起來像git倉庫中的東西有錯誤的縮進。最簡單的解決將是使用的東西,像sed

相關問題