分享

Python的武器库09:psutil模块

 乘舟泛海赏雨 2019-09-18

说到编程语言python,有一个著名的格言'余生太短,只用python'。如果要分析为什么会存在这么一句格言?python的语法并不简单,有复杂难懂的部分,之所以又这样一句格言,是因为python中有很多强大的模块,就像一个武器库。

Python正式由于这些模块的出现,只要引入这个模块,调用这个模块的集成函数,问题迎刃而解;不需要从头开始,节省了大量的时间。

Python的武器库09:psutil模块

这篇文章主要讲的是psutil模块,使用这个模块,可以获得电脑的cpu、磁盘、内存、网络以及系统的进程等信息。

由于psutil模块是第三方模块库,因此要安装这个模块库。在windows命令行工具中输入'pip install psutil',点击enter键,进行安装。

要使用这个模块库,首先引入这个模块。在python编译环境下输入'from psutil import *',就进入这个模块,可以使用这个模块的函数。

使用函数cpu_count()获得cpu的逻辑数量,使用cpu_count(logical=False)获得cpu的物理核心数量,使用函数cpu_times()获得CPU的用户/系统/空闲时间。

Python的武器库09:psutil模块

使用函数cpu_percent()获得cpu的使用频率。

Python的武器库09:psutil模块

使用函数disk_partitions()获取磁盘分区信息,使用函数disk_usage('/')获取磁盘使用情况,使用函数disk_io_counters()获取磁盘IO信息。

Python的武器库09:psutil模块

使用函数virtual_momory()获取电脑的物理内存信息,使用函数swap_memory()获取交换内存消息。

Python的武器库09:psutil模块

使用函数net_io_counters()获得网络读写包/字节个数,使用函数net_if_addrs()获得网络接口信息。

Python的武器库09:psutil模块

使用函数net_if_stats()获得网络接口信息,使用函数net_connections()获得网络连接信息。

Python的武器库09:psutil模块

使用函数pids()获取所有进程ID,使用函数Process(ID)可以获得指定进程ID的进程,并可以赋值给一个变量。

Python的武器库09:psutil模块

继续上面的程序,通过这个变量p可以获得该进程的相关信息。

通过函数p.cwd(),获取该进程工作目录;通过函数p.cmdline()获取进程启动的命令行;通过函数p.ppid() ,获取父进程ID。通过函数 p.parent() 获取父进程;荣国函数 p.children() ,获取子进程列表。通过函数p.status() ,获取进程状态;通过函数 p.username() ,获取 进程用户名;通过函数p.create_time() ,获取进程创建时间。 p.cpu_times() ,获取 进程使用的CPU时间;通过函数p.memory_info() ,获取 进程使用的内存;通过函数p.open_files() ,获取进程打开的文件。

Python的武器库09:psutil模块

函数p.connections() ,获取 进程相关网络连接;通过函数 p.num_threads() ,获取 进程的线程数量;通过函数 p.threads() ,获取所有线程信息。通过函数p.environ() ,获取进程环境变量;通过函数p.terminate() ,结束进程。

Python的武器库09:psutil模块

这个模块,不仅适用于windows系统,也适用于Linux、OS X、FreeBSD和Sun Solaris等操作系统。

如果要思考这么模块如何实现的,我认为是先判断操作系统的类型,然后调用该操作系统给的API就可以获得cpu、内存、网络、进程等信息。

(该文章为原创,抄袭必究)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多