当前位置: 首页 > news >正文

盘点十个让工作效率倍增且有趣的 Python工具包

大家好,今天给大家盘点10个让工作更效率,编程更有趣的 Python 工具包,一起来了解一下。

1 PrettyErrors

PrettyErrors是一款可以让Python抛出的异常变得通俗易懂的强大工具。

官网的示例:

可以看出,出错的文件、所在行、所在函数或模块都被用不同的颜色标记出来,比起左边密密麻麻、眼花缭乱的错误提示,显然是优化过的提示更人性化!

这个工具有两种安装方式:

# 全局安装
python -m pip install pretty_errors

# 局部项目使用
import pretty_errors
pretty_errors.configure(
 separator_character = '*',
 filename_display    = pretty_errors.FILENAME_EXTENDED,
 line_number_first   = True,
 display_link        = True,
 lines_before        = 5,
 lines_after         = 2,
 line_color          = pretty_errors.RED + '> ' + pretty_errors.default_config.line_color,
 code_color          = '  ' + pretty_errors.default_config.line_color,
 truncate_code       = True,
 display_locals      = True
 )
 pretty_errors.blacklist('c:/python')

2 Rich

Rich​是一个可以为终端提供富文本和精美格式的 Python 库,利用Rich API​可以很容易的在终端输出添加各种颜色和不同风格。Rich还可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等等。

官网的示例:

Rich是跨平台库,适用于Linux、OSX和Windows。安装也很方便。

python -m pip install rich

博主试着用了下这个库,下面是测试案例,体验拉满~。

from rich.console import Console
console = Console()

test_data = [
    {"专业": "模式识别与智能系统", "学科": "人工智能", "params": [None, 1, 2, 4, False, True], "id": "1",},
    {"专业": "模式识别与智能系统", "学科": "深度学习", "params": [7]},
    {"专业": "模式识别与智能系统", "学科": "机器视觉", "params": [42, 23], "id": "2"},
]

def test_log():
    enabled = False
    context = {
        "天气": "阴",
    }
    movies = ["误杀2", "江照黎明"]
    console.log("Hello from", console, "!")
    console.log(test_data, log_locals=True)

test_log()

在这里插入图片描述

3 Dear PyGui

Dear PyGui是一个易于使用但功能强大的非终端Python GUI框架。

官网的示例:

Dear PyGui基于及时渲染和GPU来提供高度动态的用户接口,且Dear PyGui是跨平台的,在Windows 10、macOS、Linux甚至是树莓派Raspberry Pi 4上都能使用;安装起来也相当简单:

pip install dearpygui
or
pip3 install dearpygui

4 HummingBird

HummingBird​是微软推出的一款人工智能库,可以将传统人工智能模型编译成张量计算,了解深度学习框架,如Tensorflow、Pytorch的同学一定知道张量的重要性。

HummingBird​允许用户几乎无缝地使用各种深度学习框架来加速机器学习模型,基于HummingBird有很多好处:

  • 所有当前或将来在神经网络框架中的优化都会被引入;
  • 硬件加速;
  • 提供独一无二的统一平台来支持所有传统机器学习模型和深度学习;
  • 无需重建模型

总之,HummingBird把深度学习的入门门槛又大大降低了。

HummingBird库的一行安装代码如下:

pip install hummingbird-ml

5 HiPlot

HiPlot是微软推出的用于分析人工智能高维数据的库。

HiPlot是一个轻量级交互式可视化工具,用来帮助AI研究者发现高维数据中的关联和内在模式,同时采用并行渲染和其他图形化方式来展示信息。

官网的示例:

HiPlot库的一行安装命令如下:

pip install -U hiplot  # Or for conda users: conda install -c conda-forge hiplot

6 Norfair

Norfair是一个轻量级平面物体跟踪Python库。​

使用Norfair,你可以仅用几行代码就赋予任何检测算法目标跟踪的能力。

官网的示例:

Norfair库的一行安装命令如下:

pip install norfair

7 GeoPandas

GeoPandas是用来处理地理空间数据的工具库,不仅完美融合了pandas数据类型,还提供了操作地理空间数据的高级接口。

官网的示例:

这个库的安装相对复杂,需要具备以下依赖:

  • numpy
  • pandas (version 1.0 or later)
  • shapely (interface to GEOS; version 1.7 or later)
  • fiona (interface to GDAL; version 1.8 or later)
  • pyproj (interface to PROJ; version 2.6.1 or later)
  • packaging

安装好依赖项后即可运行安装命令,如下:

pip install pygeos

8 PyAutoGUI

PyAutoGUI是一个跨平台GUI自动化Python模块。用于以编程方式控制鼠标和键盘。可以让计算机完成你所设计的自动控制任务,解放你的双手

安装时会自动安装PyAutoGUI​依赖的模块,包括PyTweening,PyScreeze,PyGetWindow,PymsgBox和MouseInfo,因此只需一行命令,很方便:

pip install pyautogui

应用时也有很多封装好的API,例如

# 将鼠标光标移动到(200,300)
pyautogui.moveTo(200,300)
# 将鼠标光标移动到(400,500)
pyautogui.moveTo(400,500)

我做了个小示例:

9 Plotly

Plotly是一个交互式的、开源的、基于浏览器的Python图形库,提供了30多种图表类型,包括

  • 科学图表
  • 3D图表
  • 统计图表
  • SVG地图
  • 金融图表

Plotly库的一行安装命令如下:

pip install plotly==5.6.0

需要注意的是plotly​是建立在jupyter notebook​上的,所以需要在jupyter notebook​中导入这两个包,而不能使用VSCode。

官网示例:

10 Emoji

Emoji​是个很有意思的Python库,事实上Unicode​联盟支持一整套表情符号代码,Emoji库就提供了打印表情符号的Python接口,使编程更有趣。

Emoji库的一行安装命令如下:

pip install emoji --upgrade

看看Emoji库打印表情符号的效果:

>> import emoji
>> print(emoji.emojize('Python is :thumbs_up:'))
Python is :+1:
>> print(emoji.emojize('Python is :thumbsup:', language='alias'))
Python is :+1:
>> print(emoji.demojize('Python is :+1:'))
Python is :thumbs_up:
>>> print(emoji.emojize("Python is fun :red_heart:"))
Python is fun ❤

相关文章:

  • 内联函数——C++
  • 数据结构-线性表
  • vue3.0--2.watch、vue3生命周期函数、Teleport、自定义事件、状态驱动的动态 CSS、Suspense
  • Java · 面向对象编程 · 包的概念 · 继承 · 组合
  • Zabbix6通过ODBC方式监控Oracle 19C最佳实践
  • 企业复杂的数据治理需求,TempoDF让数据开发更简单!
  • hive on spark 执行sql报错
  • 离散化(保序)
  • 文本纠错易语言代码
  • 【python】遇上COS美图怎么办?当然是大胆冲呀~
  • 苏小妍java开发工程师-一面面经
  • 「SpringCloud Alibaba」Sentinel实现熔断与限流
  • 赶紧进来看看---详细介绍五种常用字符串库函数 以及对库函数的模拟实现
  • 浅谈 python在密码学的应用
  • lammps数据后处理:python绘制应力应变曲线 附程序代码
  • Brief introduction of how to 'Call, Apply and Bind'
  • Bytom交易说明(账户管理模式)
  • CSS盒模型深入
  • gcc介绍及安装
  • Java 多线程编程之:notify 和 wait 用法
  • javascript数组去重/查找/插入/删除
  • Kibana配置logstash,报表一体化
  • Map集合、散列表、红黑树介绍
  • mysql 数据库四种事务隔离级别
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • webpack入门学习手记(二)
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于遗传算法的优化问题求解
  • 技术胖1-4季视频复习— (看视频笔记)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 离散点最小(凸)包围边界查找
  • 前端存储 - localStorage
  • 浅谈web中前端模板引擎的使用
  • 算法-插入排序
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信小程序开发问题汇总
  • 微信支付JSAPI,实测!终极方案
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 移动端唤起键盘时取消position:fixed定位
  • 找一份好的前端工作,起点很重要
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 飞书APP集成平台-数字化落地
  • #每天一道面试题# 什么是MySQL的回表查询
  • $(function(){})与(function($){....})(jQuery)的区别
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (c语言)strcpy函数用法
  • (java)关于Thread的挂起和恢复
  • .net FrameWork简介,数组,枚举
  • .NET 的程序集加载上下文
  • .net实现客户区延伸至至非客户区
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法