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 相关文章推荐
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 Python
Python中List.count()方法的使用教程
May 20 Python
Python常用内置模块之xml模块(详解)
May 23 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
django解决跨域请求的问题
Nov 11 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
python如何处理程序无法打开
Jun 16 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
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Django 用户认证组件使用详解
2019/07/23 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
python 基于wx实现音乐播放
2020/11/24 Python
python常量折叠基础知识点讲解
2021/02/28 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
土地租赁意向书
2014/07/30 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
nginx内存池源码解析
2021/11/20 Servers
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server