我有一大堆python代码,需要对它施加符合pep8的样式/格式。 pep8的变体有各种规则(如this one by a coworker),但最难的是处理拆分太长的行并格式化修改后的代码。
我已经查询了这个问题:
它们来自2009年和2010年。我希望从那时起开发出更好的工具。
我知道PythonTidy这是非常好的但是会让很多代码变得更糟,恕我直言。 Pylint检测到格式错误但未更正它们。 Web服务与我的要求并不真正相关,因为我想要一个可以构建的工具。
有没有人提出尚未涵盖的建议?感谢。
答案 0 :(得分:7)
答案 1 :(得分:2)
PyCharm内置了此功能,现在有一个免费的开源社区版。打开文件并点击 Ctrl Alt L 。
不幸的是,它不会自动将函数名和变量名重构为PEP8约定......这些必须通过PyCharm的重命名功能逐一完成。
答案 2 :(得分:1)
PythonTidy似乎很好地分割了行http://www.lacusveris.com/PythonTidy/
答案 3 :(得分:1)
Google的yapf效果非常好。
这里有一个在线演示:yapf.now.sh
您可以将它集成到您的工作流程中,并在编辑器中保存文件时运行它,或者作为git precommit hook或类似的东西运行。
答案 4 :(得分:0)
black
是另一个竞争者。卖点是,它几乎是不可配置的,因此您的团队浪费更少的时间来讨论细节。
这里有一个在线演示:black.now.sh
旁注:black
,yapf
和autopep8
具有python语言服务器插件,因此它们与包括原子和vscode的文本编辑器很好地集成了。