如何使用Python库中操作系统级别模块Psutil
导读:本文共2794.5字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: /模块介绍/1、安装。使用pip命令进行安装即可。pipinstallpsutil2、基本用法老样子,先使用dir看它有哪些方法,为了不看那些平时很少用到的方法,小编决定这样做:3、可以看出,命令不是很多,这是因为过滤了一些带下划线的命令,不过已经够用了。里面有很多我们比较熟悉的方法。先试试几个看看跟我们想的结果是否一样。可以看出第一个命令打印出来当前的用户名信... ...
目录
(为您整理了一些要点),点击可以直达。/模块介绍/
1、安装。使用pip命令进行安装即可。
pipinstallpsutil
2、基本用法
老样子,先使用dir看它有哪些方法,为了不看那些平时很少用到的方法,小编决定这样做:
3、可以看出,命令不是很多,这是因为过滤了一些带下划线的命令,不过已经够用了。里面有很多我们比较熟悉的方法。先试试几个看看跟我们想的结果是否一样。
可以看出第一个命令打印出来当前的用户名信息,第二个则是打印出了系统中所有的pid,也就是如下所示:
可以看到所有的进程号,那么获取这些进程号有什么用呢?答案是肯定的。我们可以凭借这些进程号获取到程序相关进程进而获取到程序的目录。
4、那么我们应该怎样通过进程号获取到进程呢?我们这里有一个process方法,知道进程的人都了解这是一个进程方法,所以我们选用这个来试试看。
我们先选择一个pid号试试看能不能捕捉到进程,我们选择684,如下图所示:
5、这样我们就获取到了这个进程,然后我们使用 方法:
pp.name()
就可以获取到进程对应的程序名是哪一个了,后面还有时间。
6、那么我们现在是不是就可以把所有的进程名和进程列举出来了?请看下图:
是不是简单到超出你的想象?反之,我们也可以通过进程名来推敲出进程所在的所有pid号噢,请看下图:
7、通过对process方法的进一步延伸,发现它还有好多有趣的方法:
pp.children(recursive=True)返回这个进程的子元素作为一个进程的列表,如果递归是真的返回所有父的后代pp.cmdline()命令行pp.connentions(kind='inet')返回套接字连接打开的过程作为一个列表pp.cpu_affinity(cpus=None)获取或设置CPU关联过程pp.cpu_percent(interval=None)返回一个浮点数表示当前进程的CPUpp.cpu_times()返回一个(用户、系统、子用户子系统)代表的过程pp.create_time()进程创建时间pp.cwd()进程的当前工作目录的绝对路径pp.environ()环境变量pp.exe()当前进程的可执行文件的一个绝对路径pp.kill()杀死当前进程pp.username()用户拥有流程的名称pp.ppid()返回进程父pidpp.open_files()进程打开的文件pp.resume()恢复所有进程线程的影响pp.status()进程当前状态pp.num_threads()进程的线程数量pp.threads()所有线程pp.pid进程pidpp.terminal()进程终端pp.terminate()进程结束
8、还有一些方法,大家可以一个个去发掘,用法挺简单的,在此就不一一例举了。
9、下面我们来看看psutil其他的带下划线的方法,如下图所示:
可以看到有很多cpu,disk,net开头的方法。
10、通过平时对英语的积累,相信大家应该能猜到这些方法的用处了,下面我们来看看:
可以看出第一个是CPU的内核数量,因为我的是4G内存,因此得出,第二个则是获取c盘容量使用情况。
11、psutil 中还有个非常牛逼的方法,它就是test,它可以模拟出像任务管理器一样的列表,如下图所示:
怎么样,是不是很牛了?哈哈哈,有了这些知识做积累相信你很快就能做一个软件出出来了。
12、在这里小编做了一个还算不错的小程序,就是打印出当前所有进程pid和进程名以及路径,效果如下图所示:
可以应该可以看出加了一个if语句,这是因为有的进程是系统进程,是没有权限是无法访问的。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
如何使用Python库中操作系统级别模块Psutil的详细内容,希望对您有所帮助,信息来源于网络。