Python: 空格转制表符?
我有一个Python文件(/home/test.py
),里面混用了空格和制表符(Tab)。
请问有没有一种编程的方法(注意:是编程的方法,不是用编辑器)可以把这个文件转换成只使用制表符?也就是说,把文件里所有的4个空格
替换成一个制表符
。
如果能提供一段Python代码示例或者一个Linux命令来实现这个功能,我会非常感激。谢谢!
4 个回答
0
另一种方法是安装一个叫做 black-with-tabs 的软件包。然后运行 black(如果你之前已经安装了原版的 black,需要先卸载它)。
black test.py
1
你可以试着逐行读取文件,然后进行替换,比如这样:
import fileinput
for line in fileinput.FileInput("file",inplace=1):
print line.replace(" ","\t")
或者你可以试试一些*nix系统的工具,比如 sed/awk
。
$ awk '{gsub(/ /,"\t")}1' file > temp && mv temp file
$ ruby -i.bak -ne '$_.gsub!(/ /,"\t")' file
8
听起来这个任务可以用 sed
来完成:
sed -e 's/ /\t/g' test.py > test.new
[把 \t 替换成真正的制表符]
不过……
每个缩进层级使用4个空格。