gpt4 book ai didi

python - 将 Python 代码转换为符合 PEP8 的工具

转载 作者:IT老高 更新时间:2023-10-28 21:07:30 24 4
gpt4 key购买 nike

我知道有一些工具可以验证您的 Python 代码是否符合 PEP8,例如 an online servicea python module .

但是,我找不到可以将我的 Python 文件转换为独立的 PEP8 有效 Python 文件的服务或模块。有谁知道有吗?
我认为这是可行的,因为 PEP8 就是关于代码的外观,对吧?

最佳答案

您可以使用 autopep8 !在您为自己煮一杯咖啡的同时,此工具会愉快地删除所有那些不会改变代码的含义的讨厌的 PEP8 违规行为。

通过 pip 安装:

pip install autopep8

将此应用于特定文件:

autopep8 py_file --in-place

或者对于您的项目(递归),详细选项会为您提供一些关于其进展情况的反馈:

autopep8 project_dir --recursive --in-place --pep8-passes 2000 --verbose

注意:有时默认的 100 次通过是不够的,我将其设置为 2000,因为它相当高,并且会捕获除最麻烦的文件之外的所有文件(一旦发现没有可解决的 pep8 违规,它就会停止通过)。 ..

此时我建议重新测试并提交!

如果你想要“完全” PEP8 合规性:我使用的一种策略是如上所述运行 autopep8,然后运行 ​​PEP8,它会打印剩余的违规行为(文件、行号等) :

pep8 project_dir --ignore=E501

并单独手动更改这些(例如 E712s - 与 bool 值比较)。

注意:autopep8 提供了一个 --aggressive 参数(无情地“修复”这些改变含义的违规行为),但请注意,如果您确实使用了积极的,您可能需要调试... (例如在 numpy/pandas True == np.bool_(True) 但不是 True is np.bool_(True)!)

您可以检查每种类型的违规次数(之前和之后):

pep8 --quiet --statistics .

注意:我认为 E501(行太长)是一种特殊情况,因为您的代码中可能会有很多这样的情况,有时 autopep8 不会更正这些情况。

例如,我 applied this技术到pandas代码库。

关于python - 将 Python 代码转换为符合 PEP8 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com