通过Python获取CPU温度和使用率、内存使用率、磁盘使用率;

1.新建Python脚本
vi get.py

粘贴下面内容

import os

Return CPU temperature as a character string

def getCPUtemperature():
res = os.popen(‘vcgencmd measure_temp’).readline()
return(res.replace("temp=","").replace("’C\n",""))

Return RAM information (unit=kb) in a list

Index 0: total RAM

Index 1: used RAM

Index 2: free RAM

def getRAMinfo():
p = os.popen(‘free’)
i = 0
while 1:
i = i + 1
line = p.readline()
if i==2:
return(line.split()[1:4])

Return % of CPU used by user as a character string

def getCPUuse():
return(str(os.popen("top -n1 | awk ‘/Cpu(s):/ {print $2}’").readline().strip()))

Return information about disk space as a list (unit included)

Index 0: total disk space

Index 1: used disk space

Index 2: remaining disk space

Index 3: percentage of disk used

def getDiskSpace():
p = os.popen("df -h /")
i = 0
while 1:
i = i +1
line = p.readline()
if i==2:
return(line.split()[1:5])

CPU informatiom

CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()

RAM information

Output is in kb, here I convert it in Mb for readability

RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)

Disk information

DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]

if name == ‘main‘:
print(‘’)
print(‘CPU Temperature = ‘+CPU_temp)
print(‘CPU Use = ‘+CPU_usage)
print(‘’)
print(‘RAM Total = ‘+str(RAM_total)+’ MB’)
print(‘RAM Used = ‘+str(RAM_used)+’ MB’)
print(‘RAM Free = ‘+str(RAM_free)+’ MB’)
print(‘’)
print(‘DISK Total Space = ‘+str(DISK_total)+’B’)
print(‘DISK Used Space = ‘+str(DISK_used)+’B’)
print(‘DISK Used Percentage = ‘+str(DISK_perc))

2.运行脚本
python get.py

得到如下图所示的信息