Ich habe einen vorhandenen Code, der nicht konsistent formatiert ist - manchmal werden zwei Leerzeichen für den Einzug verwendet, manchmal vier und so weiter. Der Code selbst ist korrekt und gut getestet, aber die Formatierung ist schrecklich.
Gibt es einen Ort online, an dem ich einfach einen Ausschnitt aus Python-Code einfügen und ihn automatisch für mich einrücken / formatieren lassen kann? Gibt es eine X
solche, mit der ich so etwas tun X --input=*.py
und jede Datei mit einer formatierten Version überschreiben kann?
python
formatting
John Feminella
quelle
quelle
:PyLintAuto
mit autopep8Antworten:
Bearbeiten: Heutzutage würde ich autopep8 empfehlen , da es nicht nur Einrückungsprobleme behebt, sondern (nach Ihrem Ermessen) auch Code an viele andere PEP8-Richtlinien anpasst.
Verwenden Sie
reindent.py
. Es sollte mit der Standarddistribution von Python geliefert werden, obwohl Sie unter Ubuntu daspython2.6-examples
Paket installieren müssen .Sie können es auch im Internet finden .
Dieses Skript versucht, jedes Python-Skript so zu konvertieren, dass es dem 4-Leerzeichen-Standard entspricht.
quelle
find . -type f -name "*.py" | xargs python reindent.py --nobackup
.python-tools
Paket installieren , umreindent.py
python2.7-examples
.black
diese Tage empfehlenautopep8
autopep8 formatiert Ihr Python-Skript automatisch. nicht nur die Codeeinrückung, sondern auch andere Codierungsabstandsstile. Dadurch wird Ihr Python-Skript dem PEP8 Style Guide angepasst.
pip install autopep8 autopep8 your_script.py # dry-run, only print autopep8 -i your_script.py # replace content
Aktualisieren:
Viele Editoren haben pep8-Plugins, die Ihren Code direkt nach dem Speichern der Datei automatisch neu formatieren. py-autopep8 in emacs
yapf
yapf ist ein neuer und besserer Python-Code-Formatierer. das versucht, die beste Formatierung zu erhalten, nicht nur um die Richtlinien zu entsprechen. Die Verwendung ist die gleiche wie bei autopep8.
pip install yapf yapf your_script.py # dry-run, only print yapf -i your_script.py # replace content
Weitere Informationen, wie z. B. Formatierungskonfigurationen, finden Sie im
README.rst
on yapf githubUpdate 2:
Schwarz
Schwarz ist viel besser als Yapf . Es ist intelligenter und passt zu den komplexesten Formatierungsfällen.
quelle
Verwenden Sie Schwarz . Es gibt bewusst nur eine Option (Zeilenlänge), um die Konsistenz über viele Projekte hinweg sicherzustellen. Es erzwingt PEP8.
quelle
black
online verwenden (wie vom OP angefordert): repl.it/repls/BriefBetterSystemcallIn PyCharm tun Sie:
1. Wählen Sie den gesamten Code aus:
2. Formatieren Sie den gesamten Code
quelle
[strg]
?Einige Editoren verfügen über eine automatische Formatierungsfunktion, die dies für Sie erledigt. Eclipse ist ein Beispiel (obwohl Sie wahrscheinlich ein Python-Plug-In installieren müssten).
Haben Sie überprüft, welchen Editor Sie für eine solche Funktion verwenden?
quelle