推荐几个评价非常高的Python库

简介: 推荐几个评价非常高的Python库

推荐几个评价非常高的Python库

大家好,今天介绍几个评价不错的Python库,希望对大家的项目编写有所帮助。

Arrow

Python的标准库模块和类型太多,时区转换麻烦,而Arrow是一个更加智能的Python时间处理库。它实现并更新日期时间类型,支持许多常见创建方案的智能模块API,可以使用更少导入和代码处理日期和时间。

https://github.com/crsmithdev/arrow

安装:pip install arrow

import arrow

# 当地时区的时间、年、月、日、时
print(arrow.now())
print(arrow.now().year)
print(arrow.now().month)
print(arrow.now().day)
print(arrow.now().hour)
# 获取指定时区时间
print(arrow.now('US/Pacific'))
# 获取时间戳
print(arrow.now().timestamp())

# Arrow对象转化为字符串时间
print(arrow.now().format(fmt="YYYY-MM-DD HH:mm:ss"))

# 时间戳转化为日期
timeStamp = 1625034427.024892
i = arrow.get(timeStamp)
print(i.format('YYYY-MM-DD HH:mm:ss'))

# 当前时间前一年,1个月前,2周前,3天后,2小时后的时间
print(arrow.now().shift(years=-1, months=-1, weeks=-2, days=3, hours=2).format())

print(arrow.utcnow().span('hour'))

jsonpath

jsonpath用来解析json数据,是一种简单的方法来提取给定JSON文档的部分内容。它提供了类似正则表达式的语法,可以解析复杂的嵌套数据结构,可以非常方便的提取接口返回的数据信息。

安装:pip install jsonpath

使用:

from jsonpath import jsonpath
ret = jsonpath(dic, '语法规则字符串')

jsonpath语法规则

img

psutil

一个跨平台的监控硬件信息的Python库,可以监控、分析操作系统的进程、cpu、内存、网络、磁盘等资源使用情况。

psutil实现的功能类似linux中很多资源监控命令,如 ps、 top、 iotop、 lsof、 netstat、 ifconfig、 free 等,当然,你可以结合Python编程,实现更高级的功能,比如结合前端框架实现可视化资源监控资源信息。

https://github.com/giampaolo/psutil

安装:pip install psutil

查看CPU

import psutil
# cpu的逻辑个数
print(psutil.cpu_count())

#每隔1秒输出每隔cpu的使用率
for x in range(3):
    # interval:每隔0.5s刷新一次
    # percpu:查看所有的cpu使用率
    print(psutil.cpu_percent(interval=1, percpu=True))

img

查看内存

import psutil
# 输出内存使用情况(总内存、可用内存、内存使用率、已使用内存)
print(psutil.virtual_memory())

svmem(total=17126330368, available=8755355648, percent=48.9, used=8370974720, free=8755355648)

磁盘IO

import psutil
# 磁盘IO信息read_count(读IO数),write_count(写IO数)、read_bytes(IO写字节数),read_time(磁盘读时间),write_time(磁盘写时间)
print(psutil.disk_io_counters())

sdiskio(read_count=308820, write_count=193263, read_bytes=6779938304, write_bytes=3320958976, read_time=7298, write_time=2630)

网络

import psutil
# bytes_sent: 发送的字节数
# bytes_recv: 接收的字节数
# packets_sent: 发送的包数据量
# packets_recv: 接收的包数据量
# errin: 接收包时, 出错的次数
# errout: 发送包时, 出错的次数
# dropin: 接收包时, 丢弃的次数
# dropout: 发送包时, 丢弃的次数
print(psutil.net_io_counters())

snetio(bytes_sent=19362924, bytes_recv=159579883, packets_sent=118788, packets_recv=184342, errin=0, errout=0, dropin=0, dropout=0)

https://github.com/jd/tenacity

tenacity

tenacity是一个 Apache 2.0授权的通用重试库,自动化测试或者爬虫中,当网络不稳定导致请求超时或者等待条件满足时操作,我们可以通过tenacity实现代码的重试功能。

https://github.com/jd/tenacity

pip install tenacity

用法非常简单,直接加上装饰器使用。

重试3次

import tenacity
from tenacity import stop_after_attempt

@tenacity.retry(stop=stop_after_attempt(3))
def retry_test():
    print("重试...")
    raise Exception

retry_test()

重试10秒

import tenacity
from tenacity import stop_after_delay

@tenacity.retry(stop=stop_after_delay(10))
def retry_test():
    print("重试...")
    raise Exception

retry_test()

每隔2秒重试

import tenacity
from tenacity import wait_fixed

@tenacity.retry(wait=wait_fixed(2))
def wait_2_s():
    print("Wait 2 second between retries")
    raise Exception

print(wait_2_s)
目录
相关文章
|
1天前
|
API 调度 开发者
Python中的并发编程:使用asyncio库实现异步IO
传统的Python编程模式中,使用多线程或多进程实现并发操作可能存在性能瓶颈和复杂性问题。而随着Python 3.5引入的asyncio库,开发者可以利用异步IO来更高效地处理并发任务。本文将介绍如何利用asyncio库实现异步IO,提升Python程序的并发性能。
|
1天前
|
JSON Shell 数据格式
第十章 Python常用标准库使用(必会)
第十章 Python常用标准库使用(必会)
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
8 3
Python
19 0
|
2天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
19 0
|
3天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
10 0
|
4天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
14 2
|
5天前
|
算法 Python
请解释Python中的关联规则挖掘以及如何使用Sklearn库实现它。
使用Python的mlxtend库,可以通过Apriori算法进行关联规则挖掘。首先导入TransactionEncoder和apriori等模块,然后准备数据集(如购买行为列表)。对数据集编码并转换后,应用Apriori算法找到频繁项集(设置最小支持度)。最后,生成关联规则并计算置信度(设定最小置信度阈值)。通过调整这些参数可以优化结果。
25 9