使用aotupep8自动批量调整代码以符合PEP-8规范
PEP-8是Python的官方編碼規(guī)范,像Huawei和Google這樣的公司也會基于此出臺用于公司內(nèi)部的編碼規(guī)范。PEP-8的文檔地址在 這里 。
可以使用Python的外部工具,對代碼進(jìn)行自動檢查和==(單文件內(nèi))批量==調(diào)整,使其滿足PEP-8的(大部分)要求。步驟如下:
1. 安裝autopep8
pip install autopep82. 配置autopep8
在“File - Settings - Tools - External Tools”中添加外部工具,具體參數(shù)如下:
Name: autopep8(可以自己起名字) Program: autopep8 Arguments: --in-place --aggressive $FilePath$ Working directory: $ProjectFileDir$ Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*3. 例子代碼
寫了一段簡單的代碼,里面有4種不符合PEP-8規(guī)范的編碼習(xí)慣
3.1. 用于分隔多個參數(shù)的逗號之后,缺少空格
3.2. 方法之間空行數(shù)量不足
3.3. 單行文本超長
3.4. 將多行代碼寫在一行
4. 自動調(diào)整
右鍵單擊需要調(diào)整的文件,選擇“External Tools - autopep8(步驟2中起的名字)”
即可實現(xiàn)自動((單文件內(nèi))批量)檢查代碼規(guī)范,并且自動調(diào)整代碼格式。
注意:autopep8能對大部分問題進(jìn)行自動調(diào)整,但不是全部。例如3.3的超長文本就不行。
5. 手動調(diào)整
對于不成功的部分,可以手動調(diào)用修改建議進(jìn)行調(diào)整。
6. 多文件批量修改
autopep8的命令行執(zhí)行方式是:
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運行后可以在當(dāng)前目錄下自動查找python文件,生成 autopep8_batch_exec.bat
然后運行 autopep8_batch_exec.bat,可以批量修改所有文件中的編碼規(guī)范。
總結(jié)
以上是生活随笔為你收集整理的使用aotupep8自动批量调整代码以符合PEP-8规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 星期六能自助打征信吗
- 下一篇: 定制属于自己的域名邮箱