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对象的深拷贝和浅拷贝详解
Aug 25 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
Python中int()函数的用法浅析
Oct 17 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
python绘制地震散点图
Jun 18 Python
python求最大值最小值方法总结
Jun 25 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
python音频处理的示例详解
Dec 23 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
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
学生评语大全
2014/04/18 职场文书
土地租赁意向书
2014/07/30 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
2016年元旦寄语
2015/08/17 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript