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进阶之装饰器
May 11 Python
Python通过future处理并发问题
Oct 17 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
python数字图像处理实现直方图与均衡化
May 04 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
python实现经典排序算法的示例代码
Feb 07 Python
Python机器学习之基础概述
May 19 Python
python之json文件转xml文件案例讲解
Aug 07 Python
Python中request的基本使用解决乱码问题
Apr 12 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实现的功能是显示8条基色色带
2006/10/09 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
php格式化电话号码的方法
2015/04/24 PHP
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
javascript读写json示例
2014/04/11 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Python多继承顺序实例分析
2018/05/26 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
.NET方向面试题
2014/11/20 面试题
Ruby如何创建一个线程
2013/03/10 面试题
高中毕业自我鉴定
2013/12/13 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
就业协议书范本
2014/10/08 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js