我有一個python文件(/home/test.py
),裏面有空格和製表符的混合。Python:空間到標籤?
是否存在編程方式(注意:編程,不使用編輯器)將此文件轉換爲僅使用製表符? (意思是用一個單一的tab
代替現有的4-spaces
)?
將不勝感激python代碼示例或linux命令做到上述。謝謝。
我有一個python文件(/home/test.py
),裏面有空格和製表符的混合。Python:空間到標籤?
是否存在編程方式(注意:編程,不使用編輯器)將此文件轉換爲僅使用製表符? (意思是用一個單一的tab
代替現有的4-spaces
)?
將不勝感激python代碼示例或linux命令做到上述。謝謝。
聽起來像是sed
任務:
sed -e 's/ /\t/g' test.py > test.new
[把一個真實的標籤,而不是\ T]每個縮進層
但是......
使用4個空格。
正是我在找的東西。謝謝。 – user3262424 2011-04-03 04:45:42
@ user540009:我希望你參考PEP 8 :-) – Johnsyweb 2011-04-03 04:49:24
謝謝。只是爲了記錄,你將如何用4個空格來替換每個「標籤」? (什麼是反向的'sed'命令)? – user3262424 2011-04-03 04:52:20
你可以嘗試遍歷文件和做更換如
import fileinput
for line in fileinput.FileInput("file",inplace=1):
print line.replace(" ","\t")
,或者你可以嘗試像sed/awk
$ awk '{gsub(/ /,"\t")}1' file > temp && mv temp file
$ ruby -i.bak -ne '$_.gsub!(/ /,"\t")' file
好的答案,雖然下面的一個班輪更好。 – user3262424 2011-04-03 04:46:01
SED -e * nix的工具「 s/{4}/\ t/g' – Javier 2011-04-03 04:35:09
您不想將4個空格轉換爲製表符。這是針對PEP-8的。 4個空格是標準的 - 也適合你:)除此之外:看看Python的tabcleaner.py腳本並從那裏翻錄相關的代碼。 – 2011-04-03 04:39:02
@Javier:謝謝。不知道如何應用它。 – user3262424 2011-04-03 04:46:17