python Linux系统信息
生活随笔
收集整理的這篇文章主要介紹了
python Linux系统信息
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
內(nèi)存信息?/?meminfo
返回dict
#!/usr/bin/env?python??
def?memory_stat():??mem?=?{}??f?=?open("/proc/meminfo")??lines?=?f.readlines()??f.close()??for?line?in?lines:??if?len(line)?<?2:?continue??name?=?line.split(':')[0]??var?=?line.split(':')[1].split()[0]??mem[name]?=?long(var)?*?1024.0??mem['MemUsed']?=?mem['MemTotal']?-?mem['MemFree']?-?mem['Buffers']?-?mem['Cached']??return?mem??CPU信息?/?cpuinfo?
返回list,
每核心一dict#!/usr/bin/env?python??
def?cpu_stat():??cpu?=?[]??cpuinfo?=?{}??f?=?open("/proc/cpuinfo")??lines?=?f.readlines()??f.close()??for?line?in?lines:??if?line?==?'\n':??cpu.append(cpuinfo)??cpuinfo?=?{}??if?len(line)?<?2:?continue??name?=?line.split(':')[0].rstrip()??var?=?line.split(':')[1]??cpuinfo[name]?=?var??return?cpu??負(fù)載信息?/?loadavg
返回dict
#!/usr/bin/env?python??
def?load_stat():??loadavg?=?{}??f?=?open("/proc/loadavg")??con?=?f.read().split()??f.close()??loadavg['lavg_1']=con[0]??loadavg['lavg_5']=con[1]??loadavg['lavg_15']=con[2]??loadavg['nr']=con[3]??loadavg['last_pid']=con[4]??return?loadavg??運(yùn)轉(zhuǎn)時(shí)間?/?Uptime
返回dict#!/usr/bin/env?python??
def?uptime_stat():??uptime?=?{}??f?=?open("/proc/uptime")??con?=?f.read().split()??f.close()??all_sec?=?float(con[0])??MINUTE,HOUR,DAY?=?60,3600,86400??uptime['day']?=?int(all_sec?/?DAY?)??uptime['hour']?=?int((all_sec?%?DAY)?/?HOUR)??uptime['minute']?=?int((all_sec?%?HOUR)?/?MINUTE)??uptime['second']?=?int(all_sec?%?MINUTE)??uptime['Free?rate']?=?float(con[1])?/?float(con[0])??return?uptime獲取網(wǎng)卡流量信息?/proc/net/dev
返回dict,單位byte#!/usr/bin/env?python??
def?net_stat():??net?=?[]??f?=?open("/proc/net/dev")??lines?=?f.readlines()??f.close()??for?line?in?lines[2:]:??con?=?line.split()??"""?intf?=?{}?intf['interface']?=?con[0].lstrip(":")?intf['ReceiveBytes']?=?int(con[1])?intf['ReceivePackets']?=?int(con[2])?intf['ReceiveErrs']?=?int(con[3])?intf['ReceiveDrop']?=?int(con[4])?intf['ReceiveFifo']?=?int(con[5])?intf['ReceiveFrames']?=?int(con[6])?intf['ReceiveCompressed']?=?int(con[7])?intf['ReceiveMulticast']?=?int(con[8])?intf['TransmitBytes']?=?int(con[9])?intf['TransmitPackets']?=?int(con[10])?intf['TransmitErrs']?=?int(con[11])?intf['TransmitDrop']?=?int(con[12])?intf['TransmitFifo']?=?int(con[13])?intf['TransmitFrames']?=?int(con[14])?intf['TransmitCompressed']?=?int(con[15])?intf['TransmitMulticast']?=?int(con[16])?"""??intf?=?dict(??zip(??(?'interface','ReceiveBytes','ReceivePackets',??'ReceiveErrs','ReceiveDrop','ReceiveFifo',??'ReceiveFrames','ReceiveCompressed','ReceiveMulticast',??'TransmitBytes','TransmitPackets','TransmitErrs',??'TransmitDrop',?'TransmitFifo','TransmitFrames',??'TransmitCompressed','TransmitMulticast'?),??(?con[0].rstrip(":"),int(con[1]),int(con[2]),??int(con[3]),int(con[4]),int(con[5]),??int(con[6]),int(con[7]),int(con[8]),??int(con[9]),int(con[10]),int(con[11]),??int(con[12]),int(con[13]),int(con[14]),??int(con[15]),int(con[16]),?)??)??)??net.append(intf)??return?net??磁盤空間使用
使用內(nèi)置Python內(nèi)置函數(shù),返回dict,單位byte#!/usr/bin/env?python??
def?disk_stat():??import?os??hd={}??disk?=?os.statvfs("/")??hd['available']?=?disk.f_bsize?*?disk.f_bavail??hd['capacity']?=?disk.f_bsize?*?disk.f_blocks??hd['used']?=?disk.f_bsize?*?disk.f_bfree??return?hd
轉(zhuǎn)載于:https://blog.51cto.com/kubernete/1897910
總結(jié)
以上是生活随笔為你收集整理的python Linux系统信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: serialize-and-deseri
- 下一篇: C# SuperSocket服务端入门(