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获取赶集网招聘信息前篇
Apr 18 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
Python检查ping终端的方法
Jan 26 Python
python文件写入write()的操作
May 14 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
python检测服务器端口代码实例
Aug 31 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
Python 实现数组相减示例
Dec 27 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 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读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
jQuery ajaxForm()的应用
2016/10/14 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
js 作用域和变量详解
2017/02/16 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
在Django中同时使用多个配置文件的方法
2015/07/22 Python
使用python实现rsa算法代码
2016/02/17 Python
Python之时间和日期使用小结
2019/02/14 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
数控技术专业推荐信
2013/11/01 职场文书
优秀员工获奖感言
2014/03/01 职场文书
完整版商业计划书
2014/09/15 职场文书
生日赠语
2015/06/23 职场文书
老乡会致辞
2015/07/28 职场文书
2016新年致辞
2015/08/01 职场文书
认识实习感想
2015/08/10 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
Python集合set()使用的方法详解
2022/03/18 Python