Подтвердить что ты не робот

Как я могу автоматически форматировать некоторые коды Python?

У меня есть какой-то существующий код, который не форматируется последовательно - иногда для отступа, иногда четыре и т.д. используются два пробела. Сам код является правильным и проверенным, но форматирование ужасно.

Есть ли место в сети, где я могу просто вставить фрагмент кода Python и автоматически ли он отступать/отформатировать для меня? Альтернативно, существует ли X, чтобы я мог сделать что-то вроде X --input=*.py и перезаписать ли каждый файл в отформатированной версии?

4b9b3361

Ответ 1

Изменить: В настоящее время я бы рекомендовал autopep8, поскольку он не только исправляет проблемы с отступом, но также (по вашему усмотрению) делает код совместимым ко многим другим рекомендациям PEP8.


Используйте reindent.py. Он должен поставляться со стандартным дистрибутивом Python, хотя на Ubuntu вам нужно установить пакет python2.6-examples.

Вы также можете найти его на веб-странице .

Этот script пытается преобразовать любой python script в соответствие с 4-пространственным стандартом.

Ответ 2

autopep8

autopep8 будет автоматически форматировать ваш python script. не только отступы кода, но и другие стили интервала кодирования. Это позволяет вашему python script соответствовать руководству по стилю PEP8.

pip install autopep8
autopep8 your_script.py    # dry-run, only print
autopep8 -i your_script.py # replace content

Обновление:

У многих редакторов есть плагины pep8, которые автоматически переформатируют ваш код сразу после сохранения файла. py-autopep8 в emacs

yapf

yapf - новый и лучший форматировщик кода python. который пытается получить наилучшее форматирование, а не только для соответствия рекомендациям. Использование довольно похоже на autopep8.

pip install yapf
yapf your_script.py    # dry-run, only print
yapf -i your_script.py # replace content

Для получения дополнительной информации, например, для форматирования, прочтите README.rst в yapf github

Ответ 3

Некоторые редакторы имеют функцию автоматического форматирования, которая делает это для вас. Eclipse - один из примеров (хотя вам, вероятно, придется установить плагин python).

Вы проверили, какой редактор вы используете для такой функции?

Ответ 4

Найден автономное решение с PyCharm

В PyCharm выполните:

1. Выберите весь код:

[strg]+[A]

2. Отформатируйте весь код

[strg]+[alt]+[L]