python - 如何自动格式化一些 Python 代码以正确格式化?

我有一些现有的代码格式不一致——有时两个空格用于缩进,有时四个空格等等。代码本身是正确且经过充分测试的,但格式很糟糕。

网上有没有一个地方可以让我简单地粘贴一段 Python 代码并自动为我缩进/格式化?或者,是否有一个 X 以便我可以执行类似 X --input=*.py 之类的操作并使用格式化版本覆盖每个文件?

最佳答案

autopep8

autopep8会自动格式化你的 python 脚本。不仅是代码缩进,还有其他编码间距样式。它使您的 python 脚本符合 PEP8 样式指南。

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

更新:

许多编辑器都有 pep8 插件,可以在您保存文件后立即自动重新格式化您的代码。 py-autopep8 in emacs

yapf

yapf是一个新的更好的python代码格式化程序。它试图获得最佳格式,而不仅仅是为了符合指南。用法与autopep8完全一样。

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

如需了解更多信息,如格式化配置,请阅读 yapf github 上的 README.rst


更新 2:

黑色

Black比yapf好很多.它更智能,适合大多数复杂的格式化案例。

https://stackoverflow.com/questions/2625294/

相关文章:

php - 如何在 PHP 中将数字格式化为美元金额

c++ - 相当于 %02d 与 std::stringstream?

java - Java 中的 String.format() 和十六进制数字

javascript - 使用 Javascript 将 24 小时时间转换为 12 小时时间 w/

c# - 您何时使用 StringBuilder.AppendLine/string.Format

python - 如何很好地格式化dict字符串输出

c# - 使用任意字符串向左或向右填充 string.format(不是 padleft 或 pad

android - 在android中的编辑文本中格式化信用卡

string - Scala 中更好的字符串格式

sql - 有哪些免费的 SQL 格式化工具?