Skip to content

Python 格式自动修复

约 535 字大约 2 分钟

Python

2025-01-17

Python中我们可以使用autopep8来对我们的.py文件进行一些格式的自动修复。一般搭配flake8一起使用,使用flake8来检查代码规范,然后使用autopep8来修复代码格式。

安装

$ pip3 install autopep8

使用

具体使用方法参考autopep8。我这里主要说一下,结合pre-commitautopep8集成到git hooks中,同时介绍一下在VSCodeCursor中配置setting.json来实现保存文件自动修复格式。

配置setting.json来实现保存文件自动修复格式

  1. 在编辑器安装autopep8插件

VSCode的插件模块中搜索autopep8,安装即可。

  1. setting.json中配置autopep8

.vscode目录的setting.json中添加如下配置:

{
    "[python]": {
        "editor.formatOnSave": true,
        "editor.formatOnType": true,
        "editor.formatOnPaste": true,
        "editor.defaultFormatter": "ms-python.autopep8"
    }
}

至此我们就完成了VSCode中保存Python文件自动修复格式的配置。

提示 如果没有对应文件夹或文件,可以直接创建。

集成到git流程中

  1. 安装pre-commit
$ pip3 install pre-commit
  1. 编写pre-commit的配置文件.pre-commit-config.yaml
repos:
  - repo: https://github.com/pre-commit/mirrors-autopep8
    rev: 'v2.0.4'
    hooks:
      - id: autopep8
        # autopep8 only takes one filename as argument unless the "--in-place" or "--diff" args are used
        args: [--max-line-length=120, --diff]

4.添加pre commitgit钩子中

执行如下命令:

$ pre-commit install

如果已经添加过,但是更新了.pre-commit-config.yaml文件,可以直接更新。

$ pre-commit autoupdate

或者,清除或卸载之后再添加。

$ pre-commit clean
$ pre-commit uninstall
$ pre-commit install

执行完上面的命令后,pre commit就添加到git钩子中了。后续执行git commit命令时,就会触发pre commit,然后自动执行autopep8,修复.py文件。

延伸阅读

Python 格式自动修复

Python 格式校验

Python项目如何优雅的生成依赖文件

整理头文件

参考

Github flake8

Github pre-commit

pre-commit文档