PEP-8是Python的官方编码规范,像Huawei和Google这样的公司也会基于此出台用于公司内部的编码规范。PEP-8的文档地址在 这里 。
可以使用Python的外部工具,对代码进行自动检查和==(单文件内)批量==调整,使其满足PEP-8的(大部分)要求。步骤如下:
pip install autopep8
在“File - Settings - Tools - External Tools”中添加外部工具,具体参数如下:
Name: autopep8(可以自己起名字)
Program: autopep8
Arguments: --in-place --aggressive $FilePath$
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
写了一段简单的代码,里面有4种不符合PEP-8规范的编码习惯
3.1. 用于分隔多个参数的逗号之后,缺少空格
3.2. 方法之间空行数量不足
3.3. 单行文本超长
3.4. 将多行代码写在一行
右键单击需要调整的文件,选择“External Tools - autopep8(步骤2中起的名字)”
即可实现自动((单文件内)批量)检查代码规范,并且自动调整代码格式。
注意:autopep8能对大部分问题进行自动调整,但不是全部。例如3.3的超长文本就不行。
对于不成功的部分,可以手动调用修改建议进行调整。
autopep8的命令行执行方式是:
autopep8 --in-place --aggressive filename.py
所以可以编写批处理脚本 autopep8_srcipt_generator.cmd :
@echo= >./autopep8_batch_exec.bat
for /r activity_handlers %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r application %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r performance_analyzer %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r rcqueues %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r standard %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r util %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
for /r xml_parser %%i in (*.py) do @echo autopep8 --in-place --aggressive %%i >>./autopep8_batch_exec.bat
@echo autopep8 --in-place --aggressive main.py >>./autopep8_batch_exec.bat
@echo del autopep8_batch_exec.bat >>./autopep8_batch_exec.bat
运行后可以在当前目录下自动查找python文件,生成 autopep8_batch_exec.bat
然后运行 autopep8_batch_exec.bat,可以批量修改所有文件中的编码规范。