从网上下载了一段 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)
实际使用上,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'
会报错。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式