分享3个非常实用的 Python 模块


Posted in Python onMarch 03, 2022

一、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 # 明天

我们还可以在时间的数据上进行加、减,调用的是addsubtract方法

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()

在输出的所有字体当中任选一个来进行艺术字的塑造

到此这篇关于分享3个非常实用的 Python 模块的文章就介绍到这了,更多相关 Python 模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
Python进行数据科学工作的简单入门教程
Apr 01 Python
Python实现从URL地址提取文件名的方法
May 15 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
python用户管理系统
Mar 13 Python
Python控制Firefox方法总结
Jun 03 Python
python移位运算的实现
Jul 15 Python
Python计算公交发车时间的完整代码
Feb 12 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
将Python代码打包成.exe可执行文件的完整步骤
May 12 Python
详解在OpenCV中如何使用图像像素
 Python 中 logging 模块使用详情
Mar 03 #Python
分享7个 Python 实战项目练习
Mar 03 #Python
python工具dtreeviz决策树可视化和模型可解释性
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 #Python
详解python的异常捕获
Mar 03 #Python
You might like
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
解析php中的escape函数
2013/06/29 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
安装Python的教程-Windows
2017/07/22 Python
python微信好友数据分析详解
2018/11/19 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
浅析Python 责任链设计模式
2020/09/11 Python
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
《雷雨》教学反思
2014/02/20 职场文书
股东授权委托书范文
2014/09/13 职场文书
离职感谢信怎么写
2015/01/22 职场文书
婚礼答谢词范文
2015/09/29 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang