未加星标

在Pycharm中配置autopep8

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二05 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

PEP 8 ,Style Guide for python Code,是Python官方推出的Python编码风格的约定,虽然这不是硬性的规定,但是如果Python程序员都尽量遵循这个文档,那么编码风格的统一会让代码的可读性大大提升。

在Pycharm里边默认也是有进行PEP8的检测,强迫症的人表示,看到代码中有黄色波浪线,就一定得先改好它。

关于autopep8

官网的描述是:

autopep8 automatically formats Python code to conform to the PEP 8 style guide. It uses the pep8 utility to determine what parts of the code needs to be formatted. autopep8 is capable of fixing most of the formatting issues that can be reported by pep8.

通过它,可以修复大部分PEP8工具中报告的代码排版问题。举个官网的例子:

def example1():
####This is a long comment. This should be wrapped to fit within 72 characters.
some_tuple=( 1,2, 3,'a' );
some_variable={'long':'Long code lines should be wrapped within 79 characters.',
'other':[math.pi, 100,200,300,9876543210,'This is a long string that goes on'],
'more':{'inner':'This whole logical line should be wrapped.',some_tuple:[1,
20,300,40000,500000000,60000000000000000]}}
return (some_tuple, some_variable)

这是一个比较极端情况的例子,在使用了autopep8自动修复后:

def example1():
# This is a long comment. This should be wrapped to fit within 72 characters.
some_tuple = (1, 2, 3, 'a')
some_variable = {'long': 'Long code lines should be wrapped within 79 characters.', 'other': [math.pi, 100, 200, 300, 9876543210, 'This is a long string that goes on'], 'more': {'inner': 'This whole logical line should be wrapped.', some_tuple: [1, 20, 300, 40000, 500000000, 60000000000000000]}}
return (some_tuple, some_variable)

是不是看起来焕然一新了?

Pycharm中使用autopep8作为扩展工具 安装autopep8 pip install autopep8
Pycharm进行设置 Settings >Tools >External Tools 点击添加按钮 Name:autopep8(可以自定义) Tools settings: Programs:autopep8(不能修改) Parameters:--in-place --aggressive --aggressive $FilePath$ Working directory:$ProjectFileDir$ 点击Output Files 点击添加,名称可以任意填写 Regular expression to match output:$FILE_PATH$\:$LINE$\:$COLUMN$\:.* 实际使用

在右击上代码 >External Tool >autopep8

Pycharm自动调用了autopep8对当前文件进行PEP8优化。

autopep8的一些设置点

在上边说到,在Parameters的设置是:--in-place --aggressive --aggressive $FilePath$

in-place 代表会直接修改源文件

aggressive autopep8默认只修复空白,对齐相关的PEP8问题,加入--aggressive设置,会增加修复如 x == None 修复为 x is None,{“a”: 1, “b”: 2}.has_key(‘a’) 修复为’a’ in {“a”: 1, “b”: 2}

ignore 忽略PEP8检查项

因为我只打算用autopep8来修复空格,空行这一类的排版问题,同时要忽略每一行长度过长的检测(E501 - Try to make lines fit within max-line-length characters.),所以最终设置是:

--in-place --ignore=E501 $FilePath$

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: 程序员Python
分页:12
转载请注明
本文标题:在Pycharm中配置autopep8
本站链接:http://www.codesec.net/view/482928.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(166)