仅在python文件中强制使用"空格"或"制表符"?

edo*_*aur 4 python tabs spaces indentation

在Python中,是否有意图在每个文件的基础上强制使用空格或制表符缩进?

好吧,也许"强制执行"太强大了,更像是"推荐".

我一直收到带有混合缩进的补丁文件,这很烦人......(至少可以说)Python本身可以判断出什么时候出现问题,但是我正在搜索某些东西,在编辑器级别这样做,就像它存在于charset一样.

编辑:好的,我的问题不明确,我问这个是因为我一直在接收你可以想象的任何标签/空间混合中的修正和补丁.我使用Mercurial作为DVCS,也许这个级别存在什么?

unu*_*tbu 10

Tim Peters编写了一个名为reindent.py的漂亮脚本,它将.py文件转换为使用4空格缩进而没有标签.它在这里可用,但请先检查您的发行版 - 它可能已捆绑在Examples或Tools目录中.(在最新的LTS Ubuntu上,它由python2.7-examples包提供.)

如果您可以设置Mercurial挂钩,则应该能够通过reindent.py运行所有文件.

顺便说一下,如果您使用的是unix,那么您的系统也可能有expand(和unexpand)命令,它将所有选项卡转换为空格(以及空格转换为选项卡).但是,在这种情况下,我认为reindent.py是正确的工具.


gim*_*mel 5

查看tabnanny模块: - 检测模糊缩进.