我在Python中有一些標籤格式化代碼,我在Python中有一些空間格式化的代碼。轉換python文件中的空格?
將代碼集成在一個痛苦之中...我的編輯想要在製表符或空格中工作,但不是兩者兼備。
在linux中是否有一個命令行函數,或者任何會將python代碼格式化爲某種方式的函數?
我在Python中有一些標籤格式化代碼,我在Python中有一些空間格式化的代碼。轉換python文件中的空格?
將代碼集成在一個痛苦之中...我的編輯想要在製表符或空格中工作,但不是兩者兼備。
在linux中是否有一個命令行函數,或者任何會將python代碼格式化爲某種方式的函數?
reindent.py是一個漂亮的實用程序腳本,它可以將任何python .py文件轉換爲一個使用4空格縮進和無製表符的文件。
這對於從不同來源「規範化」代碼非常有用,假設您願意遵守4空間標準。 (或者,如果您需要製表符,則可以運行reindent.py,然後執行unix unexpand
命令。)
PS。您的Python安裝可能已經在Tools或Examples文件夾中安裝了reindent.py。在Ubuntu上,它由python-examples
包提供,位於/usr/share/doc/python2.6/examples/Tools/scripts/reindent.py
。
許多編輯器(例如vi)會在縮進行時將製表符轉換爲空格或從空格轉換製表符。因此,無論您想要設置選項卡設置,然後縮進整個文件1步,然後縮進一步,然後完成。
Vim命令:
1GVG <-- select entire file (i have this bound to CTRL-A)
> <-- indent one step
1GVG <-- select again
< <--- unindent one step
'人擴大' 的在Debian
一些信息
它在的coreutils您可以使用擴大和unexpand這個Unix命令。
通常,如果我在vim中編寫代碼,我會自動將製表符轉換爲空格。
我的〜/ .vimrc看起來是這樣的:
set expandtab
set tabstop=4
怎麼樣的Perl:perl -pe 's/(.*?)\t/$1.(" " x (4-length($1)%4))/ge' file_with_tabs.txt
蟒蛇(這是從降價的源...):
def _detab_sub(self, match):
g1 = match.group(1)
return g1 + (' ' * (self.tab_width - len(g1) % self.tab_width))
def _detab(self, text):
if '\t' not in text:
return text
return self._detab_re.subn(self._detab_sub, text)[0]
一個好的程序員的編輯器將有一個命令,將製表符轉換爲空格或反之亦然;你也可以在編輯器中使用搜索和替換來完成它。
它也在Redhat的coreutils中。另外,`unexpand`可以用另一種方式進行轉換。 – tylerl 2010-12-03 23:39:25