11

我有一些使用空格进行缩进的 .py 文件,我想将它们转换为制表符。

我可以使用正则表达式轻松地将某些东西拼凑在一起,但我可以想到几种这种方法可能会失败的边缘情况。是否有一种工具可以像 python 解释器一样通过解析文件和确定缩进级别来做到这一点?

4

5 回答 5

17

如果要转换的文件不多,可以在vim中打开,然后使用:retab命令。

有关更多信息,请参阅vim 文档

于 2008-12-03T21:31:56.123 回答
16

Python 包含一个相反的脚本(制表符到空格)。这是C:\Python24\Tools\Scripts\reindent.py给我的

于 2008-12-03T22:10:01.007 回答
12

:retab 将用空格交换制表符,并且 :retab! 将用制表符交换空格。1 个制表符 = 4 个空格,4 个空格 = 1 个制表符,具体取决于您的制表符设置。

于 2009-02-04T11:14:03.323 回答
4

If you use Linux, you might also play around with unexpand:

Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input.

于 2010-02-14T00:37:51.507 回答
3

在 emacs 中,M-x tabify将尽可能将空格转换为制表符。您可能需要tab-width适当地设置变量。

我不知道这是否解决了您对空格的解释方式与 python 解释器相同的问题,但您始终可以加载 python-mode 并使用M-x indent-region.

于 2008-12-03T22:20:22.000 回答