分享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 字符串中的字符倒转
Sep 06 Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
Python学习小技巧总结
Jun 10 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python挖矿算力测试程序详解
Jul 03 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
Dec 12 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
解决python3安装pandas出错的问题
May 20 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
重置版宣传动画
2020/04/09 魔兽争霸
php下保存远程图片到本地的办法
2010/08/08 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
PHP简洁函数小结
2011/08/12 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
利用Python获取操作系统信息实例
2016/09/02 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
用python写PDF转换器的实现
2020/10/29 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
机电一体化求职信
2014/03/10 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
承诺书范本大全
2015/05/04 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js