将.py文件转换为Python 3的正确编码

时间:2016-09-07 22:32:12

标签: python encoding emacs

我刚刚从用户在Python 2上的git repo中提取。我的系统运行的是Python 3并且代码没有变化,我收到了这个错误:

TabError: inconsistent use of tabs and spaces in indentation

似乎解决方案是更改.py文件的字符集编码,但是在emacs中工作,我不清楚如何执行此操作。我看到了这些说明:

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

但我不明白如何将这些应用于utf-8。我很感激任何建议。

2 个答案:

答案 0 :(得分:1)

存在命令untabify

将区域中的所有标签转换为多个空格,保留列。 如果以前缀ARG交互式调用,则转换为整个 缓冲液中。

即。用C-u调用它来转换缓冲区中的所有TAB。

正如评论指出的那样:tabify执行反向操作,将多个空格转换为制表符 - 而使用空格似乎是一种常见的约定,而不仅仅是在Python中。

答案 1 :(得分:0)

这不是python 2/3问题,它看起来像git repo中有错误的缩进。最简单的解决方法是使用sed

之类的东西替换所有文件中的所有制表符