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基础教程之匿名函数lambda
Jan 17 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
Python中如何导入类示例详解
Apr 17 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
实现Python与STM32通信方式
Dec 18 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
GitHub上值得推荐的8个python 项目
Oct 30 Python
python process模块的使用简介
May 14 Python
深入理解Pytorch微调torchvision模型
Nov 11 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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/06/14 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
JS实现购物车特效
2017/02/02 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
Python中的yield浅析
2014/06/16 Python
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
python实现顺序表的简单代码
2018/09/28 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
python 递归相关知识总结
2021/03/03 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
华为慧通面试题
2012/09/11 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
实习自我鉴定范文
2013/10/30 职场文书
生产部管理制度
2014/01/31 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
主持人大赛开场白
2015/05/29 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python