Есть решение вашей проблемы, которое распространяется с самим python. pindent.py
, он находится в каталоге Tools \ Scripts в установке Windows (мой путь к нему - C: \ Python25 \ Tools \ Scripts), похоже, вам придется взять его с svn.python.org, если вы работаете на Linux или OSX.
Он добавляет комментарии, когда блоки закрываются, или может правильно отступать от кода, если они вставлены. Вот пример кода, выводимого pindent с помощью команды:
pindent.py -c myfile.py
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
else:
print 'oops!'
Где был оригинал myfile.py
:
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
else:
print 'oops!'
Вы также можете использовать pindent.py -r
для вставки правильного отступа на основе комментариев (подробности см. В заголовке pindent.py), это должно позволить вам писать код на Python, не беспокоясь об отступах.
Например, запуск pindent.py -r myfile.py
преобразует следующий код в myfile.py
тот же код с правильным отступом (а также с комментариями), как в pindent.py -c
приведенном выше примере:
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
else:
print 'oops!'
Мне было бы интересно узнать, какое решение вы в конечном итоге используете. Если вам потребуется дополнительная помощь, прокомментируйте этот пост, и я постараюсь помочь.