Python:选项卡的空格?

时间:2011-04-03 04:34:01

标签: python linux

我有一个python文件(/home/test.py),其中包含空格和制表符。

是否有编程方式(注意:编程,不使用编辑器)将此文件转换为仅使用标签? (意思是,用一个4-spaces替换任何现有的tab次出现?)

非常感谢python代码示例或linux命令执行上述操作。感谢。

2 个答案:

答案 0 :(得分:4)

听起来像sed的任务:

sed -e 's/    /\t/g' test.py > test.new

[放置一个真正的标签而不是\ t]

...然而

  

每个缩进级别使用4个空格。

- PEP 8 -- Style Guide for Python Code

答案 1 :(得分:1)

你可以尝试迭代文件并替换例如

import fileinput
for line in fileinput.FileInput("file",inplace=1):
    print line.replace("    ","\t")

或者您可以尝试像sed/awk

这样的* nix工具
$ awk '{gsub(/    /,"\t")}1' file > temp && mv temp file

$ ruby -i.bak -ne '$_.gsub!(/    /,"\t")' file