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

我知道有一些工具可以验证您的Python代码是否符合PEP8,例如,有一个在线服务和一个Python模块

但是,我找不到能够将我的Python文件转换为自包含、PEP8有效Python文件的服务或模块。有人知道有没有吗?
我认为这是可行的,因为PEP8完全是关于代码的外观,对吗?

你可以使用Autoep8!当你为自己煮一杯咖啡时,这个工具会很高兴地删除所有那些讨厌的违反PEP8的行为,这些行为不会改变代码的含义

通过pip安装:

pip安装autopep8

将此应用于特定文件:

autopep8 py_文件--已就位

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

autopep8项目\u dir--递归--就地--pep8通过2000--详细

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

此时,我建议重新测试并进行提交

如果你想;全称PEP8合规性:我使用的一种策略是如上所述运行autopep8,然后运行PEP8,它将打印剩余的违规项(文件、行号和其他内容):

pep8项目\u dir--ignore=E501

并分别手动更改(例如E712s-与布尔值比较)

注意:autopep8提供了一个--aggressive参数(用于无情地“修复”这些意味着不断变化的违规行为),但如果您确实使用aggressive,您可能需要调试。。。(例如,在numpy/pandasTrue==np.bool(True)中,而不是True是np.bool(True)!)

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

pep8——安静——统计。

注:我认为E501S(行太长)是一个特殊的情况,因为在代码中可能会有很多这样的情况,有时这些错误不会被AutoPop8.

改正。

作为一个例子,我将此技术应用于pandas代码库。

发表评论