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中的lstrip()方法使用简介
May 19 Python
python解决汉字编码问题:Unicode Decode Error
Jan 19 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python 实现登录网页的操作方法
May 11 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
对python生成业务报表的实例详解
Feb 03 Python
浅谈Python基础—判断和循环
Mar 22 Python
python3实现斐波那契数列(4种方法)
Jul 15 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 Python
python3.6连接mysql数据库及增删改查操作详解
Feb 10 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
python openCV实现摄像头获取人脸图片
Aug 20 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面向对象——访问修饰符介绍
2012/11/08 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
总结一些js自定义的函数
2006/08/05 Javascript
javascript 鼠标滚轮事件
2009/04/09 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
Python实现二分查找算法实例
2015/05/26 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python与C互相调用的方法详解
2017/07/14 Python
python dict 相同key 合并value的实例
2019/01/21 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
解决python replace函数替换无效问题
2020/01/18 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
物业管理求职自荐信
2013/09/25 职场文书
升职自荐信范文
2013/10/05 职场文书
生产车间主任的个人自我鉴定
2013/10/25 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技