分享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 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
python保存文件方法小结
Jul 27 Python
Python Excel处理库openpyxl使用详解
May 09 Python
python如何制作英文字典
Jun 25 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
PyCharm下载和安装详细步骤
Dec 17 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
Django自定义列表 models字段显示方式
Apr 03 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python字符串常规操作大全
May 02 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的PSR规范中文版
2013/09/28 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
Dojo 学习要点
2010/09/03 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
js原生Ajax的封装和原理详解
2017/03/11 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
在Python中编写数据库模块的教程
2015/04/29 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python内置数据类型之列表操作
2018/11/12 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
linux安装python修改默认python版本方法
2019/03/31 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
北京SQL新华信咨询
2016/09/30 面试题
explicit和implicit的含义
2012/11/15 面试题
介绍一下Mysql的存储引擎
2015/02/12 面试题
《与朱元思书》的教学反思
2014/04/17 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书