分享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使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Python实现合并字典的方法
Jul 07 Python
Python实现的直接插入排序算法示例
Apr 29 Python
python 识别图片中的文字信息方法
May 10 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python读取xlsx文件的实现方法
Jul 04 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
浅谈Python中re.match()和re.search()的使用及区别
Apr 14 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
Python中常用的os操作汇总
Nov 05 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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&java(一)
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
实例讲解Python3中abs()函数
2019/02/19 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
Java语言程序设计测试题选择题部分
2014/04/03 面试题
就业自荐书
2013/12/05 职场文书
超级搞笑检讨书
2014/01/15 职场文书
五年级英语教学反思
2014/01/31 职场文书
培训班通知
2015/04/25 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
素质拓展训练感想
2015/08/07 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
如何书写授权委托书?
2019/06/25 职场文书
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫