python 代码格式化工具 black,类似 gofmt

更新日期: 2022-02-10 阅读次数: 2849 字数: 301 分类: Python

从网上下载了一段 opencv 的 python 代码,代码风格异常粗放豪迈,不到 100 行的代码,几十处 pep8 格式警告。 手动改起来,太累了,所以想找一个类似 golang gofmt 那样的代码格式化工具,能一键搞定搞定。

方案一:YAPF

Google 出品,类似 gofmt 的理念。可以定制化配置。

https://github.com/google/yapf

方案二:black

但是从 github star 数来看,black 这个格式化工具更流行。YAPF 12k star,black 25k star。(2022-02-10)

https://github.com/psf/black

实际使用上,black 确实简洁,无需配置,人狠话不多。懒惰的我最终选择了 black。

安装:

pip3 install black

对一个 python 进行格式化:

> black test_seed.py
reformatted test_seed.py

All done! ✨ 🍰 ✨
1 file reformatted.

再次 vim 打开 test_seed.py 这个文件,pep8 的错误提示果然都消失了。完美!

与 Neovim 集成

https://black.readthedocs.io/en/stable/integrations/editors.html#vim

我用的 Vundle,所以加上

Plugin 'psf/black'

autocmd BufWritePre *.py Black

设置在保存 python 代码时,自动执行 Black 命令。

注意: 不要使用官方的配置

autocmd BufWritePre *.py execute ':Black'

会报错。

tags: neovim

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式