一篇文章带你解锁Python库中操作系统级别模块psutil

Karen110 等级 421 0 0

/前言/

psutil是一个强大的可以获取操作系统运行进程和CPU使用率的模块,主要可以用于系统监控分析,它也是可以跨平台使用的模块。这篇文章主要是介绍该模块的安装和基本用法,下面我们就来看看它到底有哪些使用功能吧。

/模块介绍/

1、安装。使用pip命令进行安装即可。

pip install psutil
2、基本用法  

老样子,先使用dir看它有哪些方法,为了不看那些平时很少用到的方法,小编决定这样做:

一篇文章带你解锁Python库中操作系统级别模块psutil

3、可以看出,命令不是很多,这是因为过滤了一些带下划线的命令,不过已经够用了。里面有很多我们比较熟悉的方法。先试试几个看看跟我们想的结果是否一样。

一篇文章带你解锁Python库中操作系统级别模块psutil

可以看出第一个命令打印出来当前的用户名信息,第二个则是打印出了系统中所有的pid,也就是如下所示:

一篇文章带你解锁Python库中操作系统级别模块psutil

可以看到所有的进程号,那么获取这些进程号有什么用呢?答案是肯定的。我们可以凭借这些进程号获取到程序相关进程进而获取到程序的目录。

4、那么我们应该怎样通过进程号获取到进程呢?我们这里有一个process方法,知道进程的人都了解这是一个进程方法,所以我们选用这个来试试看。

我们先选择一个pid号试试看能不能捕捉到进程,我们选择684,如下图所示:

一篇文章带你解锁Python库中操作系统级别模块psutil

5、这样我们就获取到了这个进程,然后我们使用 方法:

pp.name()

就可以获取到进程对应的程序名是哪一个了,后面还有时间。

6、那么我们现在是不是就可以把所有的进程名和进程列举出来了?请看下图:

一篇文章带你解锁Python库中操作系统级别模块psutil

是不是简单到超出你的想象?反之,我们也可以通过进程名来推敲出进程所在的所有pid号噢,请看下图:

一篇文章带你解锁Python库中操作系统级别模块psutil

7、通过对process方法的进一步延伸,发现它还有好多有趣的方法:

一篇文章带你解锁Python库中操作系统级别模块psutil

pp.children(recursive=True)  返回这个进程的子元素作为一个进程的列表,如果递归是真的返回所有父的后代
pp.cmdline() 命令行
pp.connentions(kind='inet') 返回套接字连接打开的过程作为一个列表
pp.cpu_affinity(cpus=None)   获取或设置CPU关联过程
pp.cpu_percent(interval=None) 返回一个浮点数表示当前进程的CPU
pp.cpu_times()  返回一个(用户、系统、子用户 子系统)代表的过程
pp.create_time() 进程创建时间
pp.cwd()  进程的当前工作目录的绝对路径
pp.environ()  环境变量
pp.exe()   当前进程的可执行文件的一个绝对路径
pp.kill()  杀死当前进程
pp.username() 用户拥有流程的名称
pp.ppid() 返回进程父pid
pp.open_files() 进程打开的文件
pp.resume() 恢复所有进程线程的影响
pp.status()  进程当前状态
pp.num_threads() 进程的线程数量
pp.threads()  所有线程
pp.pid   进程pid
pp.terminal() 进程终端
pp.terminate() 进程结束

8、还有一些方法,大家可以一个个去发掘,用法挺简单的,在此就不一一例举了。

9、下面我们来看看psutil其他的带下划线的方法,如下图所示:

一篇文章带你解锁Python库中操作系统级别模块psutil

可以看到有很多cpu,disk,net开头的方法。

10、通过平时对英语的积累,相信大家应该能猜到这些方法的用处了,下面我们来看看:

一篇文章带你解锁Python库中操作系统级别模块psutil

可以看出第一个是CPU的内核数量,因为我的是4G内存,因此得出,第二个则是获取c盘容量使用情况。

11、psutil 中还有个非常牛逼的方法,它就是test,它可以模拟出像任务管理器一样的列表,如下图所示:

一篇文章带你解锁Python库中操作系统级别模块psutil

怎么样,是不是很牛了?哈哈哈,有了这些知识做积累相信你很快就能做一个软件出出来了。

12、在这里小编做了一个还算不错的小程序,就是打印出当前所有进程pid和进程名以及路径,效果如下图所示:

一篇文章带你解锁Python库中操作系统级别模块psutil

可以应该可以看出加了一个if语句,这是因为有的进程是系统进程,是没有权限是无法访问的。

13、更多的方法希望大家有空多看看文档,没有什么难的。重要的是你肯学就没有克服不了的障碍,希望可以帮助到大家。

/小结/

本文主要介绍了强大的可以获取操作系统运行进程和CPU使用率的模块psutil ,介绍了该模块的安装和基本使用方法,并带大家了解了一些简单的操作系统知识,希望对大家的学习有帮助。今天分享的内容就到这里了,感谢大家的支持~

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

**-----**------**-----**---**** End **-----**--------**-----**-****

往期精彩文章推荐:

一篇文章带你解锁Python库中操作系统级别模块psutil

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/QppmY92qt5liSIv1dew0Bw,如有侵权,请联系删除。

收藏
评论区

相关推荐

Python小应用 百度接口实现图片文字识别,并打包成安装包软件
本文给大家分享的主题是用百度的接口实现图片的文字识别。 1.环境和配置要求 整体是用Python实现,所需要使用的第三方库包括aip、PIL、keyboard、pyinstaller,如未安装,可在CMD中使用pip install BaiduAIP/pillow/keyboard/pyinstaller指令安装。 百度接口 打开https://
14. Python 与数据库那点事儿,滚雪球学 Python
本篇文章将给大家介绍 Python 如何操作 SQLite 数据库,本文将是滚雪球学 Python 第一阶段的倒数第二篇文章。 <center<font color
原来Python绘图也可以这么漂亮,这次真的是学习到了!
(https://imghelloworld.osscnbeijing.aliyuncs.com/8830803f033eeed85783e9058cf08968.png) 作者:朱小五 来源:快学Python 👆人生苦短,快学Python! 最近看了一篇文章《一个牛逼的Python 可视化库:PyG2Plot》,可惜只是简单介
我的python总结
建议刚开始学习直接使用ANACONDAhttps://www.anaconda.com/download/配置python环境变量https://docs.python.org/3.6/using/cmdline.htmlenvvarPYTHONMALLOCPython PEP8导包顺序1. Python标准
NumPy数值计算基础(超详细的numpy使用方法)
NumPy数值计算基础 NumPy是在1995年诞生的Python库Numeric的基础上建立起来的,但真正促使NumPy的发行的是Python的SciPy库。但SciPy中并没有合适的类似于Numeric中的对
商业数据分析从入门到入职(8)Python模块、文件IO和面向对象
前言本文先介绍了Python中程序、模块和包的基本使用,并在此基础上介绍了Python标准库。然后详细介绍了Python中的文件IO操作,包括文本文件、二进制文件的读写和其他IO操作。最后介绍了面向对象,包括类的定义、继承的使用、鸭子类型和魔法方法。 一、程序、模块和包 1.自定义模块和包之前我们使用的.ipynb文件都不是纯Python文件,
一文带你读懂PyQt:用Python做出与C++一样的GUI界面应用程序
\ 一、简介 Python标准库更多的适合处理后台任务,唯一的图形库tkinter使用起来很不方便,所以后来出现了针对Python图形界面开发的扩展库,今天老猿要介绍的是主流Python图形界面扩展库之一的PyQt。 在介绍PyQt之前,必须先简单介绍一下Qt。Qt是一个C++可视化开发平台,是一个跨平台的C++图形用户界面应用程序框架(C++ GUI)
简述Python中常见的数据结构
「数仓宝贝库」,带你学数据!导读:Python中常见的数据结构有列表(list)、元组(tuple)、集合(set)、字典(dict)等,这些数据结构表示了自身在Python中的存在形式,在Python中可以输入type(对象)查看数据类型。 1列表 (1)创建列表 列表是Python内置的一种数据类型,它是一种有序的数据集合,是用于存储一连串
浅谈Python两大爬虫库——urllib库和requests库区别
一、前言在使用Python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装。那它们两者有什么区别 ?下面通过案例详细的讲解 ,了解他们使用的主要区别。 二、urllib库 简介:urllib库的response对象是先创建http,request对象
python的这些必备干货知识点,快来看看有没有你不了解的?
Python是当前主流的编程语言之一,其优点有:一:语法简洁,可以让使用者用少量的代码完成相对复杂的效果。二:标准库和第三库多,功能强大;三:站在了人工智能和大数据的风口上;像国内的豆瓣呀,知乎呀等等知名网站都是基于python开发的,而Youtube、Reddit、Dropbpx也是用python的框架开发的。近几年学习python的小伙伴越来越多,那么p
60行Python代码开发在线markdown编辑器
本文转载自公众号【python大数据分析】,详情可以点击上方卡片,关注该公众号,获取更多好文推荐。 ❝ 本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ❞1 简介这是我的系列教程「Python+Dash快速web应用开发」的第六期,在上一期的文章中,我们完成了对
初窥 Python 的 import 机制
本文适合有 Python 基础的小伙伴进阶学习。 作者:pwwang一、前言本文基于开源项目: https://github.com/pwwang/pythonimportsystem补充扩展讲解,希望能够让读者一文搞懂 Python 的 import 机制。 1.1 什么是 import 机制?通常来讲,在一段 Python 代码中去执行引用另一个模块中
手把手教你用Python高仿一个任务管理器
大家好,我是Python进阶者。前言相信大家对任务管理器都不是很陌生了,Ctrl+Alt+Del即可打开,然后点击启动任务管理器,或者右击任务栏启动任务管理器即可启动任务管理器,启动之后界面如下:可以看出它列举出了一些重要的参数,比如进程数量,CPU使用率,物理内存,接下来我们就来一一列举出来。 一、项目准备编辑器:sublime text 3模块:p
一篇文章带你解锁Python库中操作系统级别模块psutil
/前言/ psutil是一个强大的可以获取操作系统运行进程和CPU使用率的模块,主要可以用于系统监控分析,它也是可以跨平台使用的模块。这篇文章主要是介绍该模块的安装和基本用法,下面我们就来看看它到底有哪些使用功能吧。 /模块介绍/1、安装。使用pip命令进行安装即可。pip install psutil2、基本用法 老样子,先使用dir看它有哪些方法,为
14个pandas神操作,手把手教你写代码
「数仓宝贝库」,带你学数据!导读: Pandas是Python数据分析的利器,也是各种数据建模的标准工具。本文带大家入门Pandas,将介绍Python语言、Python数据生态和Pandas的一些基本功能。 在Python语言应用生态中,数据科学领域近年来十分热门。作为数据科学中一个非常基础的库,Pandas受到了广泛关注。Pandas可以将现实中来