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

Linux を使用している場合は、unexpandをいじることもできます。

各 FILE の空白をタブに変換し、標準出力に書き込みます。FILE がない場合、または FILE が - の場合は、標準入力を読み取ります。

于 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 に答える