1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        一篇文章帶你解鎖Python庫中操作系統(tǒng)級別模塊psutil

        共 2244字,需瀏覽 5分鐘

         ·

        2020-12-18 17:36

        擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

        回復(fù)“書籍”即可獲贈Python從入門到進(jìn)階共10本電子書

        豈無山歌與村笛?嘔啞嘲哳難為聽。

        /前言/

        ???psutil是一個強大的可以獲取操作系統(tǒng)運行進(jìn)程和CPU使用率的模塊,主要可以用于系統(tǒng)監(jiān)控分析,它也是可以跨平臺使用的模塊。這篇文章主要是介紹該模塊的安裝和基本用法,下面我們就來看看它到底有哪些使用功能吧。


        /模塊介紹/

        1、安裝。使用pip命令進(jìn)行安裝即可。

        pip install psutil
        2、基本用法

        老樣子,先使用dir看它有哪些方法,為了不看那些平時很少用到的方法,小編決定這樣做:

        3、可以看出,命令不是很多,這是因為過濾了一些帶下劃線的命令,不過已經(jīng)夠用了。里面有很多我們比較熟悉的方法。先試試幾個看看跟我們想的結(jié)果是否一樣。

        可以看出第一個命令打印出來當(dāng)前的用戶名信息,第二個則是打印出了系統(tǒng)中所有的pid,也就是如下所示:

        可以看到所有的進(jìn)程號,那么獲取這些進(jìn)程號有什么用呢?答案是肯定的。我們可以憑借這些進(jìn)程號獲取到程序相關(guān)進(jìn)程進(jìn)而獲取到程序的目錄。

        4、那么我們應(yīng)該怎樣通過進(jìn)程號獲取到進(jìn)程呢?我們這里有一個process方法,知道進(jìn)程的人都了解這是一個進(jìn)程方法,所以我們選用這個來試試看。

        我們先選擇一個pid號試試看能不能捕捉到進(jìn)程,我們選擇684,如下圖所示:

        5、這樣我們就獲取到了這個進(jìn)程,然后我們使用 方法:

        pp.name()

        就可以獲取到進(jìn)程對應(yīng)的程序名是哪一個了,后面還有時間。

        6、那么我們現(xiàn)在是不是就可以把所有的進(jìn)程名和進(jìn)程列舉出來了?請看下圖:

        是不是簡單到超出你的想象?反之,我們也可以通過進(jìn)程名來推敲出進(jìn)程所在的所有pid號噢,請看下圖:

        7、通過對process方法的進(jìn)一步延伸,發(fā)現(xiàn)它還有好多有趣的方法:

        pp.children(recursive=True)  返回這個進(jìn)程的子元素作為一個進(jìn)程的列表,如果遞歸是真的返回所有父的后代pp.cmdline() 命令行pp.connentions(kind='inet') 返回套接字連接打開的過程作為一個列表pp.cpu_affinity(cpus=None)   獲取或設(shè)置CPU關(guān)聯(lián)過程pp.cpu_percent(interval=None) 返回一個浮點數(shù)表示當(dāng)前進(jìn)程的CPUpp.cpu_times()  返回一個(用戶、系統(tǒng)、子用戶 子系統(tǒng))代表的過程pp.create_time() 進(jìn)程創(chuàng)建時間pp.cwd()  進(jìn)程的當(dāng)前工作目錄的絕對路徑pp.environ()  環(huán)境變量pp.exe()   當(dāng)前進(jìn)程的可執(zhí)行文件的一個絕對路徑pp.kill()  殺死當(dāng)前進(jìn)程pp.username() 用戶擁有流程的名稱pp.ppid() 返回進(jìn)程父pidpp.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)程pidpp.terminal() 進(jìn)程終端pp.terminate() 進(jìn)程結(jié)束

        8、還有一些方法,大家可以一個個去發(fā)掘,用法挺簡單的,在此就不一一例舉了。

        9、下面我們來看看psutil其他的帶下劃線的方法,如下圖所示:

        可以看到有很多cpu,disk,net開頭的方法。

        10、通過平時對英語的積累,相信大家應(yīng)該能猜到這些方法的用處了,下面我們來看看:

        可以看出第一個是CPU的內(nèi)核數(shù)量,因為我的是4G內(nèi)存,因此得出,第二個則是獲取c盤容量使用情況。

        11、psutil 中還有個非常牛逼的方法,它就是test,它可以模擬出像任務(wù)管理器一樣的列表,如下圖所示:

        怎么樣,是不是很牛了?哈哈哈,有了這些知識做積累相信你很快就能做一個軟件出出來了。

        12、在這里小編做了一個還算不錯的小程序,就是打印出當(dāng)前所有進(jìn)程pid和進(jìn)程名以及路徑,效果如下圖所示:

        可以應(yīng)該可以看出加了一個if語句,這是因為有的進(jìn)程是系統(tǒng)進(jìn)程,是沒有權(quán)限是無法訪問的。

        13、更多的方法希望大家有空多看看文檔,沒有什么難的。重要的是你肯學(xué)就沒有克服不了的障礙,希望可以幫助到大家。


        /小結(jié)/

        ????本文主要介紹了強大的可以獲取操作系統(tǒng)運行進(jìn)程和CPU使用率的模塊psutil ,介紹了該模塊的安裝和基本使用方法,并帶大家了解了一些簡單的操作系統(tǒng)知識,希望對大家的學(xué)習(xí)有幫助。今天分享的內(nèi)容就到這里了,感謝大家的支持~

        ????想學(xué)習(xí)更多關(guān)于Python的知識,可以參考學(xué)習(xí)網(wǎng)址:http://pdcfighting.com/,點擊閱讀原文,可以直達(dá)噢~

        -------------------?End?-------------------

        往期精彩文章推薦:

        歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

        想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群

        萬水千山總是情,點個【在看】行不行

        /今日留言主題/

        隨便說一兩句吧~~

        瀏覽 76
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本三级免费片 | 欧美午夜啪啪 | 美女被捅爽 | 乱色AV | 啪啪啪黄色视频网站 | 在线观看操逼视频 | 淫荡留学生激情 | 色哟哟――国产精品 | 日韩精品一区二区三区妇产科痴汉 | 国产福利91|