91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

人生苦短我用python(04),Python執行shell命令(附例子)

發布時間:2020-06-17 06:01:14 來源:網絡 閱讀:1043 作者:eflypro小普 欄目:編程語言

文章內容為原創,歡迎轉載請注明出處

作者: EflyPro->晦明禪師

文章來源:公眾號“睿江云計算


今天為大家介紹如何使用python的commands模塊調用linux shell命令,同時附上一個實際例子給大家參考。


commands庫介紹

commands庫很簡單,只有3個函數,其中一個是不建議使用的,所以今天就跟大家介紹2個函數

commands.getstatusoutput(cmd)
#這個函數執行cmd傳遞進來的命令,然后返回一個2-tuple (status, output),其中status是執行cmd的返回結果,output是執行cmd的輸出內容。

commands.getoutput(cmd)
#這個是上面函數的簡化版,只返回執行cmd的輸出內容output


實現一個獲取本機磁盤分區使用率的腳本

平時我們可以使用 cat /proc/mounts 命令來查看掛載的設備分區列表


人生苦短我用python(04),Python執行shell命令(附例子)


其中我們只統計/dev/開頭的分區。至于如何獲取分區的磁盤信息,則用os模塊的 os.statvfs 函數,具體函數用法請看代碼注釋。

#!/usr/bin/env python
import commands
import os

def get_disk_uper(path):
    #計算磁盤分區使用率,
    #其中f_blocks是分區的總塊數,換算成G
    #f_bavail是分區的可用塊數,換算成G
    info = os.statvfs(path)
    total = round(float(info.f_bsize * info.f_blocks)/1024/1024/1024, 2)
    free = round(float(info.f_bsize * info.f_bavail)/1024/1024/1024, 2)
    return 100 - int(float(free) / float(total) * 100)

def get_disk_info():    
    disk_info = {}
    (status, output) = commands.getstatusoutput('cat /proc/mounts')
    #status是執行命令的返回值,默認情況下0是成功,非0是失敗
    if status != 0:
        print ststus, output
        return
    #分析返回內容,對返回內容以換行符作為分割
    for line in output.split("\n"):
        #只對/dev/ 分區設備獲取使用率
        if not line.startswith('/dev/'):
            continue
        #對一行內容按照空格或者tab進行分割,以提取分區字段名稱
        temp = line.split()
        if len(temp) < 2:
            continue
        #獲取分區名
        dev_name = temp[1]
        dev_used = get_disk_uper(dev_name)
        print "[%s] = %d%%"%(dev_name, dev_used)

if __name__ == "__main__":
    get_disk_info()

執行返回內容如下

[/] = 10%
[/boot] = 21%



下期預告 

人生苦短我用python【0x02】yield淺析


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳县| 陇川县| 株洲县| 彰化县| 徐汇区| 甘南县| 安平县| 蒲城县| 大埔县| 镇江市| 乌鲁木齐县| 大理市| 东辽县| 马关县| 七台河市| 藁城市| 梧州市| 安塞县| 晋中市| 封丘县| 中方县| 札达县| 碌曲县| 克拉玛依市| 罗源县| 闽清县| 襄城县| 白城市| 商河县| 南康市| 江阴市| 长治市| 永仁县| 青浦区| 金昌市| 远安县| 莲花县| 五寨县| 若尔盖县| 拉萨市| 安岳县|