分享3个非常实用的 Python 模块
作者:Python学习与数据挖掘 发布时间:2023-08-07 18:21:33
一、Psutil
Python
当中的Psutil
模块是个跨平台库,它能够轻松获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息,它的安装也非常的简单,
命令行:
pip install psutil
这里因为整体的篇幅有限,小编就暂时只罗列几个常用的方法,例如我们想要查看一下CPU
的利用率
psutil.cpu_percent()
返回的结果表示的是当前系统范围的CPU利用率百分比,如果我们要查看系统中CPU的个数,
代码如下:
## 逻辑CPU的个数
psutil.cpu_count()
## 物理CPU的个数
psutil.cpu_count(logical=False)
又或者我们想要查看一下系统中的物理内存,代码如下:
## 剩余的物理内存
free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))
## 物理内存总共有
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))
而如果我们想要查看单个磁盘的信息,就直接调用disk_usage()
方法
print(psutil.disk_usage('C:\\'))
而去获取所有磁盘的信息,调用的则是disk_partitions()
方法
print(psutil.disk_partitions())
另外我们也还能够获取到系统的启动时间
from datetime import datetime
print(u"系统启动时间: %s" % datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S"))
二、Pendulum
一般我们都是用datatime
模块来处理日期、时间等数据,但是不得不说在于datatime
模块也有自身的一些限制,例如在处理时区时就会显得有些不足,这次我们来介绍一下Pendulum
模块
首先我们用pip命令行来进行安装:
pip install pendulum
pendulum
模块最令人印象深刻的功能是时区,例如我们想要知道“巴黎”此时的时间,可以这么来做
now_in_paris = pendulum.now('Europe/Paris')
print(now_in_paris)
output:
2022-01-22T14:59:06.484816+01:00
还可以知道当天的日期:
d1 = pendulum.yesterday() # 昨天
d2 = pendulum.today() # 今天
d3 = pendulum.tomorrow() # 明天
output:
2022-01-21T00:00:00+08:00 # 昨天的日期
2022-01-22T00:00:00+08:00 # 今天
2022-01-23T00:00:00+08:00 # 明天
我们还可以在时间的数据上进行加、减,调用的是add
和subtract
方法
dt = pendulum.datetime(2022, 1, 22)
dt_years_add = dt.add(years=5)
print(dt_years_add)
dt_years_subtract = dt.subtract(years=1)
print(dt_years_subtract)
dt_month_add = dt.add(months=60)
print(dt_month_add)
dt_month_subtract = dt.subtract(months=60)
print(dt_month_subtract)
output:
2027-01-22T00:00:00+00:00
2021-01-22T00:00:00+00:00
2027-01-22T00:00:00+00:00
2017-01-22T00:00:00+00:00
要是我们希望将时间数据转换成字符串,就可以这么来做,代码如下:
dt = pendulum.datetime(2022, 1, 23, 15, 16, 10)
要是我们需要的是前缀的日期字符串,则可以这么来做
dt.to_date_string()
output:
2022-01-23
而要是我们需要的是后缀的时间字符串,则可以这么来做
dt.to_time_string()
output:
15:16:10
当然我们有时候日期和时间都需要,代码如下:
dt.to_datetime_string()
output:
2022-01-23 15:16:10
或者是:
dt.to_day_datetime_string()
output:
Sun, Jan 23, 2022 3:16 PM
当然该模块还有其他很多强大的功能,具体的大家可以去看它的文档,最后我们要说的是其人性化时间的输出功能。
如果我们平时用搜素引擎的话,就会看到有很多内容的时间被标成了“1天前”、“1周后”等等,这个在pendulum
模块当中也能够轻而易举的实现
print(pendulum.now().subtract(days=1).diff_for_humans())
## '1 day ago'
print(pendulum.now().diff_for_humans(pendulum.now().subtract(years=1)))
## '1 year after'
print(pendulum.now().subtract(days=24).diff_for_humans())
## '3 weeks ago'
可能有些人要是英文看不懂的话,我们也可以切换到中文,如下:
print(pendulum.now().subtract(days=14).diff_for_humans())
## '2周前'
print(pendulum.now().add(seconds=5).diff_for_humans())
## '5秒钟后'
三、Pyfiglet
pyfiglet
是一个专门用来生成艺术字的模块,并且支持有多种艺术字的字体,
我们来看一下下面这个例子:
result = pyfiglet.figlet_format("Python", font="larry3d")
print(result)
output:
____ __ __
/\ _`\ /\ \__/\ \
\ \ \L\ \__ __\ \ ,_\ \ \___ ___ ___
\ \ ,__/\ \/\ \\ \ \/\ \ _ `\ / __`\ /' _ `\
\ \ \/\ \ \_\ \\ \ \_\ \ \ \ \/\ \L\ \/\ \/\ \
\ \_\ \/`____ \\ \__\\ \_\ \_\ \____/\ \_\ \_\
\/_/ `/___/> \\/__/ \/_/\/_/\/___/ \/_/\/_/
/\___/
\/__/
要是大家不喜欢上面的字体,可以通过下面的代码
pyfiglet.FigletFont.getFonts()
在输出的所有字体当中任选一个来进行艺术字的塑造
来源:https://blog.csdn.net/weixin_38037405/article/details/122739086
猜你喜欢
- 关于tensor.repeat()的使用考虑到很多人在学习这个函数,我想在这里提 一个建议:强烈推荐 使用 einops 模块中的 repe
- 变量覆盖漏洞<?php$flag='xxx'; extract($_GET); if(isset($shiyan))
- 1.为什么需要创建虚拟环境?虚拟环境是隔离应用确切依赖项的好办法。此类隔离避免了全局 Python 环境中的冲突,有助于进行测试和协作。随着
- ASP开发网页牢记注意事项 选择自 RAINMAN_NET&
- 如何让animate在显示图片的过程保持窗口的标题不变animate -title "My Image Sequence"
- 1. 用Dreamweaver 4.0制作闪动的Flash按钮选择菜单Insert→Interactive Images→Flash But
- jQuery 将马上发布 1.4 正式版,代码也从 googlecode 上迁移到了 github. jQuery 是我接触的第一个 JS
- js关于 byval 与 byref 二者区别: byval 传递数值,实参和形参分处不同的内存单元,互不干扰! byref 传递地址,实参
- 本文从多个角度来讲解如何在Access数据库上如何上传并且显示上所上传图片。在 * 站制做过程中,需要上传图片、显示图片,上传的图片要能够保
- 如何让我的网页自动适应客户端的屏幕分辨率?然后用下列办法进行自动推送:<% @language="vbscript
- 汉字转换为UTF-8的一段代码终于找到这段代码了,一个ASP写的中文转UTF-8,大家可以试试function chinese2u
- 前一段时间就安装了AspJpeg 2.0,一直没有时间去测试,直到昨天晚上因为服务器无法访问才在本机测试下,特分享下测试结果,只针对GIF图
- 安装Nginx首先拉下centos镜像docker pull centos我们安装最新的nginx1.19版本:下载地址将centos镜像运
- 现在正在搞三层开发,用ASP和VB6.0,但是现在苦于没有找到合适的方法来调试自己写的DLL文件,效率相当低。 &n
- 关于建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢
- PL/SQL是由Oracle公司对标准SQL进行扩展,专用于Oracle数据库中程序设计的专用语言,属第三代过程式程序设计语言。从Oracl
- 一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 pa
- 和设计师打过交道的人一定也见到过少数极品,不是扎着小辫子留着小胡子,就是剃了光头抽根烟,通常说起来一套一套的人作品都很一般般,而作品一般般的
- 相信大家对于常见 CSS BUG 的处理已经相对比较熟悉,例如:IE6 Three Pixel Gap、IE5/6 Doubled Floa
- 原来的题目设想为界面视觉效果的统一性,但是“统一”这个词似乎有点敏感,怕触动萌点无数,而我也无意去设定一个什么什么的统一性来侃侃而谈,极为专