Python: пробелы во вкладки? - PullRequest
1 голос
/ 03 апреля 2011

У меня есть файл Python (/home/test.py), содержащий смесь пробелов и табуляций.

Есть ли программный способ (примечание: программный , НЕ использующий редактор) конвертировать этот файл, чтобы использовать только вкладки?(имеется в виду, заменить любые существующие вхождения 4-spaces на один tab)?

Был бы признателен либо за пример кода Python, либо за команду linux для выполнения вышеупомянутого.Благодаря.

Ответы [ 2 ]

4 голосов
/ 03 апреля 2011

Походит на задачу для sed:

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

[Положите реальную вкладку вместо \ t]

Однако ...

Используйте 4 пробела на уровень отступа.

- PEP 8 - Руководство по стилю для кода Python

1 голос
/ 03 апреля 2011

вы можете попробовать выполнить итерацию файла и выполнить замену, например

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...