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 相关文章推荐
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
Python中常见的异常总结
Feb 20 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
Python多进程原理与用法分析
Aug 21 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
Python中fnmatch模块的使用详情
Nov 30 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
python简单贪吃蛇开发
Jan 28 Python
python适合人工智能的理由和优势
Jun 28 Python
python如何通过闭包实现计算器的功能
Feb 22 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
python中 .npy文件的读写操作实例
Apr 14 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 PDO中文乱码解决办法
2009/07/20 PHP
分享php分页的功能模块
2015/06/16 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
python进程与线程小结实例分析
2018/11/11 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
js创建对象的区别示例介绍
2014/07/24 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
Python的Django框架中的表单处理示例
2015/07/17 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
PyQt5实现简易电子词典
2019/06/25 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
Python chardet库识别编码原理解析
2020/02/18 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
个人求职信范例
2014/01/29 职场文书
大学军训感言300字
2014/03/09 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
工作失职自我检讨书
2015/05/05 职场文书
五年级语文教学反思
2016/03/03 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
MySQL数据迁移相关总结
2021/04/29 MySQL
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
pycharm无法安装cv2模块问题
2022/05/20 Python