在Python中,是否有一种手段可以强制每个文件使用空格或制表符缩进?
好吧,也许“强制执行”太强了,更像是“建议”。
我一直在接收带有混合缩进的补丁文件,这很烦人……(至少可以说)Python本身可以告诉您什么时候有问题,但是我正在编辑器级别进行搜索,就像它存在于字符集一样。
编辑:好的,我的问题还不清楚,我问这个问题是因为我不断收到您能想到的选项卡/空格组合中的更正和补丁。我正在使用Mercurial作为DVCS,也许在此级别上存在某些内容?
蒂姆·彼得斯(Tim Peters)编写了一个漂亮的脚本reindent.py,该脚本将.py文件转换为使用4位空格缩进且没有制表符。它在此处可用,但请先检查您的发行版- 它可能已捆绑在Examples或Tools目录中。(在最新的LTS Ubuntu上,由python2.7-examples软件包提供。)
python2.7-examples
如果可以设置Mercurial挂钩,则应该能够通过reindent.py运行所有文件。
顺便说一句,如果您使用的是Unix,则您的系统可能还具有expand(和unexpand)命令,该命令将所有制表符转换为空格(以及将空格转换为制表符)。但是,在这种情况下,我认为reindent.py是正确的工具。
expand
unexpand
reindent.py