Autopep8的使用(python自动编排工具)


Posted in Python onMarch 02, 2021

什么是Autopep8

在python开发中, 大家都知道,python编码规范是PEP8,但是在市级开发中有的公司严格要求PEP8规范开发, 有的公司不会在乎那些,在我的理解中,程序员如果想走的更高,或者更远,干任何事情必须得专业化(本人理解方式), 不要求很多东西都是精通,但最少得有一门精通的语言,小弟在此在大佬面前装逼了, 忘看过的大牛不要揭穿, 留下你懂的我不懂的知识,大家一起学习,一起进步。 谢谢。

Autopep8是一个将python代码自动编排的一个工具,它使用pep8工具来决定代码中的那部分需要被排版,Autopep8可以修复大部分pep8工具中报告的排版问题。很多人都知道 Ctrl+Alt+L 也可以排版, 但是我要告诉你,快捷键只是可以简单的排版。跟Autopep8是无法相比的。

安装Autopep8:

pip install autopep8

安装完成之后,import导入一下,测试是否安装成功。

Aytopep8的使用

安装完成之后,打开pycharm,创建一个新的python文件, demo.py 将一下代码放入文件中。

def example1():
  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)

def example2(): return ('' in {'f': 2}) in {'has_key() is deprecated': True};

class Example3(object):
  def __init__(self, bar):
    # Comments should have a space after the hash.
    if bar:
      bar += 1
      bar = bar * bar
    else:
      some_string = """
            Indentation in multiline strings should not be touched.Only actual code should be reindented.
"""

这几行代码看上去是不是很乱, 接下来就要使用:Autopep8模块了

打开cmd找到demo.py的文件的上级目录,

然后输入以下命令:

autopep8 --in-place --aggressive --aggressive file.py

file.py 是你的demo.py

输入命令,按回车执行成功是不返回的, 执行完成之后就可以了,在次打开文件就可以看到变化了。

import math
import sys


def example1():
  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)


def example2(): return ('' in {'f': 2}) in {'has_key() is deprecated': True};


class Example3(object):
  def __init__(self, bar):
    # Comments should have a space after the hash.
    if bar:
      bar += 1
      bar = bar * bar
    else:
      some_string = """
            Indentation in multiline strings should not be touched.Only actual code should be reindented.
"""

执行完Autopep8之后代码是不是看上去简洁多了。

有人会说,没写一个函数就执行一遍命令, 是不是有点麻烦啊, 是的, 有有点麻烦, 但是pycharm是可以配置的, 配置过程如下:

1: File ---> Settings ---> Tools ---> External Tools

打开之后,可以看见窗体左上角有一个 + 号, 点击+号添加。

Autopep8的使用(python自动编排工具)

Name: 名称可以随意

Program: autopep8    # 前提必须先安装
Arguments: --in-place --aggressive --aggressive $FilePath$
Working directory: $ProjectFileDir$

Advanced Options
        ---- Outputfilters:
$FILE_PATH$\:$LINE$\:$COLUMN$\:.*

以上配置完成之后点击 OK 保存即可。

快捷使用:

Autopep8的使用(python自动编排工具)

Tools ---> External Tools ---> Autopep8 鼠标点击一下即可。

Autopep8的使用(python自动编排工具)

到此这篇关于Autopep8的使用(python自动编排工具)的文章就介绍到这了,更多相关Autopep8 使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
提升Python程序运行效率的6个方法
Mar 31 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
python使用webdriver爬取微信公众号
Aug 31 Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 Python
python实现文本界面网络聊天室
Dec 12 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
python 模拟贷款卡号生成规则过程解析
Aug 30 Python
基于python爬取有道翻译过程图解
Mar 31 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
python 将Excel转Word的示例
Mar 02 #Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 #Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 #Python
jupyter notebook指定启动目录的方法
Mar 02 #Python
python实现发送邮件
Mar 02 #Python
matplotlib阶梯图的实现(step())
Mar 02 #Python
Python读写Excel表格的方法
Mar 02 #Python
You might like
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
如何在PHP中读写文件
2020/09/07 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
JS实现分页导航效果
2020/02/19 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python判断字符串与大小写转换
2015/06/08 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
Python爬取某平台短视频的方法
2021/02/08 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
中学教师岗位职责
2013/11/26 职场文书
中学生班主任评语
2014/01/30 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
见习报告格式要求
2014/11/04 职场文书
2015年加油站工作总结
2015/05/13 职场文书
春风化雨观后感
2015/06/11 职场文书
加强党性修养心得体会
2016/01/21 职场文书