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刷投票的脚本实现代码
Nov 08 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python 正则表达式实现计算器功能
Apr 29 Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
python绘制封闭多边形教程
Feb 18 Python
pycharm sciview的图片另存为操作
Jun 01 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
Python函数式编程中itertools模块详解
Sep 15 Python
python神经网络ResNet50模型
May 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
销售人员工作自我评价
2014/09/21 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
周年庆典答谢词
2015/01/20 职场文书
公务员个人年终总结
2015/02/12 职场文书
毕业证明书
2015/06/19 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
2016年情人节广告语
2016/01/28 职场文书
技术入股合作协议书
2016/03/21 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL