您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使用Python庫中操作系統(tǒng)級(jí)別模塊Psutil”,在日常操作中,相信很多人在如何使用Python庫中操作系統(tǒng)級(jí)別模塊Psutil問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”如何使用Python庫中操作系統(tǒng)級(jí)別模塊Psutil”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
/模塊介紹/
1、安裝。使用pip命令進(jìn)行安裝即可。
pip install psutil
2、基本用法
老樣子,先使用dir看它有哪些方法,為了不看那些平時(shí)很少用到的方法,小編決定這樣做:
3、可以看出,命令不是很多,這是因?yàn)檫^濾了一些帶下劃線的命令,不過已經(jīng)夠用了。里面有很多我們比較熟悉的方法。先試試幾個(gè)看看跟我們想的結(jié)果是否一樣。
可以看出第一個(gè)命令打印出來當(dāng)前的用戶名信息,第二個(gè)則是打印出了系統(tǒng)中所有的pid,也就是如下所示:
可以看到所有的進(jìn)程號(hào),那么獲取這些進(jìn)程號(hào)有什么用呢?答案是肯定的。我們可以憑借這些進(jìn)程號(hào)獲取到程序相關(guān)進(jìn)程進(jìn)而獲取到程序的目錄。
4、那么我們應(yīng)該怎樣通過進(jìn)程號(hào)獲取到進(jìn)程呢?我們這里有一個(gè)process方法,知道進(jìn)程的人都了解這是一個(gè)進(jìn)程方法,所以我們選用這個(gè)來試試看。
我們先選擇一個(gè)pid號(hào)試試看能不能捕捉到進(jìn)程,我們選擇684,如下圖所示:
5、這樣我們就獲取到了這個(gè)進(jìn)程,然后我們使用 方法:
pp.name()
就可以獲取到進(jìn)程對(duì)應(yīng)的程序名是哪一個(gè)了,后面還有時(shí)間。
6、那么我們現(xiàn)在是不是就可以把所有的進(jìn)程名和進(jìn)程列舉出來了?請(qǐng)看下圖:
是不是簡單到超出你的想象?反之,我們也可以通過進(jìn)程名來推敲出進(jìn)程所在的所有pid號(hào)噢,請(qǐng)看下圖:
7、通過對(duì)process方法的進(jìn)一步延伸,發(fā)現(xiàn)它還有好多有趣的方法:
pp.children(recursive=True) 返回這個(gè)進(jìn)程的子元素作為一個(gè)進(jìn)程的列表,如果遞歸是真的返回所有父的后代 pp.cmdline() 命令行 pp.connentions(kind='inet') 返回套接字連接打開的過程作為一個(gè)列表 pp.cpu_affinity(cpus=None) 獲取或設(shè)置CPU關(guān)聯(lián)過程 pp.cpu_percent(interval=None) 返回一個(gè)浮點(diǎn)數(shù)表示當(dāng)前進(jìn)程的CPU pp.cpu_times() 返回一個(gè)(用戶、系統(tǒng)、子用戶 子系統(tǒng))代表的過程 pp.create_time() 進(jìn)程創(chuàng)建時(shí)間 pp.cwd() 進(jìn)程的當(dāng)前工作目錄的絕對(duì)路徑 pp.environ() 環(huán)境變量 pp.exe() 當(dāng)前進(jìn)程的可執(zhí)行文件的一個(gè)絕對(duì)路徑 pp.kill() 殺死當(dāng)前進(jìn)程 pp.username() 用戶擁有流程的名稱 pp.ppid() 返回進(jìn)程父pid pp.open_files() 進(jìn)程打開的文件 pp.resume() 恢復(fù)所有進(jìn)程線程的影響 pp.status() 進(jìn)程當(dāng)前狀態(tài) pp.num_threads() 進(jìn)程的線程數(shù)量 pp.threads() 所有線程 pp.pid 進(jìn)程pid pp.terminal() 進(jìn)程終端 pp.terminate() 進(jìn)程結(jié)束
8、還有一些方法,大家可以一個(gè)個(gè)去發(fā)掘,用法挺簡單的,在此就不一一例舉了。
9、下面我們來看看psutil其他的帶下劃線的方法,如下圖所示:
可以看到有很多cpu,disk,net開頭的方法。
10、通過平時(shí)對(duì)英語的積累,相信大家應(yīng)該能猜到這些方法的用處了,下面我們來看看:
可以看出第一個(gè)是CPU的內(nèi)核數(shù)量,因?yàn)槲业氖?G內(nèi)存,因此得出,第二個(gè)則是獲取c盤容量使用情況。
11、psutil 中還有個(gè)非常牛逼的方法,它就是test,它可以模擬出像任務(wù)管理器一樣的列表,如下圖所示:
怎么樣,是不是很牛了?哈哈哈,有了這些知識(shí)做積累相信你很快就能做一個(gè)軟件出出來了。
12、在這里小編做了一個(gè)還算不錯(cuò)的小程序,就是打印出當(dāng)前所有進(jìn)程pid和進(jìn)程名以及路徑,效果如下圖所示:
可以應(yīng)該可以看出加了一個(gè)if語句,這是因?yàn)橛械倪M(jìn)程是系統(tǒng)進(jìn)程,是沒有權(quán)限是無法訪問的。
到此,關(guān)于“如何使用Python庫中操作系統(tǒng)級(jí)別模塊Psutil”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。