降本增效!12 个必须尝试的Python工具包!

开发 前端
为什么我们都喜欢Python?对于初学者来说,这是一种美观且易于学习的编程语言,可减少我们的学习成本。另外它是开源的,这意味着它将包含许多出色的库。

在本文中,我挑选了 12 个最有用的软件包给大家分享,相信你有有所收获!

1、Dash

Dash是相对较新的。它是使用纯Python构建数据可视化应用程序的理想选择,因此特别适合处理数据的小伙伴。Dash是Flask,Plotly.js和React.js的混合体。

Dash可以快速将所需的内容放入漂亮的仪表板中,而无需触摸任何一行Javascript。

2、PyGame

Pygame是SDL多媒体库的Python包装器模块。Simple DirectMedia Layer是一个跨平台的开发库,旨在提供对OpenGL和Direct3D Pygame的音频键盘鼠标操纵杆图形硬件的低级访问,并且高度可移植,并且可以在几乎所有平台和操作系统上运行。

它具有完善的游戏引擎,也可以使用该库直接从Python脚本中播放MP3文件。

3、Pillow

Pillow 是 Python 图像库的分支。你可以使用该库来创建缩略图,在文件格式之间进行转换,旋转,应用滤镜,显示图像等等。如果需要对许多图像执行批量操作,这是理想的选择。

为了快速了解它,这是如何从Python代码显示图像的方法:

from PIL import Image
im = Image.open("kittens.jpg")
im.show()
print(im.format, im.size, im.mode)
# JPEG (1920, 1357) RGB

4、Colorama

使用Colorama,可以向终端添加一些颜色:

from colorama import Fore, Back, Style

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

该文档简短而有趣,可以在Colorama PyPI页面上找到。如果也想在Windows上使用它,则需要先调用colorama.init()。

5、JmesPath

在 Python 中使用 JSON 非常容易,因为 JSON 在 Python 字典上的映射非常好。对我来说,这是它最好的功能之一。

import jmespath

# Get a specific element
d = {"foo": {"bar": "baz"}}
print(jmespath.search('foo.bar', d))
# baz

# Using a wildcard to get all names
d = {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}}
print(jmespath.search('foo.bar[*].name', d))
# [“one”, “two”]

6、Requests

Requests 建立下载次数最多的Python库之一。它使 Web 请求确实非常简单,但仍然非常强大且用途广泛。

import requests

r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
r.status_code
# 200
r.headers['content-type']
# 'application/json; charset=utf8'
r.encoding
# 'utf-8'
r.text
# u'{"type":"User"...'
r.json()
# {u'disk_usage': 368627, u'private_gists': 484, ...}

这是一个非常基本的示例,但是请求也可以完成所有高级工作,例如:

使用cookie进行身份验证

  • 执行POST,PUT,DELETE等。
  • 使用自定义证书
  • 使用会话
  • 使用代理

7、Simplejson

Python中的本地json模块有什么问题?没有!实际上,Python的json是simplejson,它具有如下优点:

  • 它可以在更多Python版本上使用。
  • 它比Python随附的版本更新频率更高。
  • 它具有用C编写的,因此非常快速。
try:
import simplejson as json
except ImportError:
import json

8、表情符号

这个 emoji 会给人留下深刻印象或排斥感,这取决于谁在看。如果你分析社交媒体数据时,这一功能派上了用场。

import emoji
result = emoji.emojize('Python is :thumbs_up:')
print(result)
# 'Python is '

# You can also reverse this:
result = emoji.demojize('Python is ')
print(result)
# 'Python is :thumbs_up:'

9、Chardet

可以使用chardet模块检测文件或数据流的字符集。例如,这在分析大量随机文本时很有用。但是,当你不知道字符集是什么时,也可以在处理远程下载的数据时使用它。安装chardet之后,您还有一个名为chardetect的额外命令行工具,可以像这样使用:

$ chardetect somefile.txt
somefile.txt: ascii with confidence 1.0

10、Python-dateutil

python-dateutil 模块提供了对标准 datetime 模块的强大扩展。可以使用此库做很多很棒的事情,比如:对日志文件中的日期进行模糊解析。

from dateutil.parser import parse

logline = 'INFO 2020-01-01T00:00:01 Happy new year, human.'
timestamp = parse(logline, fuzzy=True)
print(timestamp)
# 2020-01-01 00:00:01

11、进度条

progress 的使用方法

from progress.bar import Bar

bar = Bar('Processing', max=20)
for i in range(20):
# Do some work
bar.next()
bar.finish()

tqdm的功能大致相同,但它是最新的。首先以gif动画形式进行一些演示:

12、IPython

如果你经常使用交互式程序,但是不了解IPython,则应该试验一下!增强的IPython shell提供的一些功能包括:

  • 全面的对象自省。
  • 输入历史记录,跨会话持续存在。
  • 在具有自动生成的引用的会话期间缓存输出结果。
  • 制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。
  • "魔术"命令,用于控制环境并执行许多与IPython或操作系统相关的任务。
  • 会话日志记录和重新加载。对pdb调试器和Python分析器的集成访问。
  • IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式计算。
  • IPython是Jupyter Notebook的核心,它是一个开放源代码Web应用程序,可让你创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。

责任编辑:华轩 来源: Python学习与数据挖掘
相关推荐

2023-07-28 09:48:37

2022-06-02 14:39:11

混沌工程实验微服务

2024-03-27 12:31:54

数据分析降本增效促销活动

2022-12-07 13:58:56

Cloudera

2022-07-13 14:54:52

边缘计算人工智能机器学习

2024-02-20 13:29:04

网络安全研发

2024-02-19 14:14:02

云计算人工智能大语言模型

2023-12-25 15:38:55

2023-10-12 19:05:13

研发管理降本增效AI

2023-09-25 15:13:57

数字化转型

2018-04-25 19:58:00

华为

2016-08-10 21:22:34

大数据运营商

2024-04-19 14:43:16

云计算分布式

2022-05-06 16:48:27

亚马逊云科技中科创达AI

2022-11-29 15:11:54

腾讯云开源FinOps

2022-03-25 13:46:25

SD-WAN网络安全

2020-03-12 10:55:34

云测Testin安卓
点赞
收藏

51CTO技术栈公众号