import psutil,socket,platform,os,re
cpu = {'user': 0, 'system': 0, 'idle': 0, 'percent': 0}
mem = {'total': 0, 'avaiable': 0, 'percent': 0, 'used': 0, 'free': 0}
#磁盘名称
disk_id = []
#将每个磁盘的total used free percent 分别存入到相应的list
disk_total = []
disk_used = []
disk_free = []
disk_percent = []
#判断操作系统,获取IP
day = platform.system()
def selsys():
if day == 'Linux':
def valid_ip(ip):
if ("255" in ip) or ( ip == "127.0.0.1") or ( ip == "0.0.0.0" ):
return False
else:
return True
def get_ip(valid_ip):
ipss = ''.join(os.popen("ifconfig").readlines())
match = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
ips = re.findall(match, ipss, flags=re.M)
ip = filter(valid_ip, ips)
return ''.join(ip)
ip_addr = get_ip(valid_ip)
return ip_addr
else:
localIP = socket.gethostbyname(socket.gethostname())#得到本地ip
return localIP
# 获取CPU信息
def get_cpu_info():
cpu_times = psutil.cpu_times()
cpu['user'] = cpu_times.user
cpu['system'] = cpu_times.system
cpu['idle'] = cpu_times.idle
cpu['percent'] = psutil.cpu_percent(interval=2)
# 获取内存信息
def get_mem_info():
mem_info = psutil.virtual_memory()
mem['total'] = mem_info.total
mem['available'] = mem_info.available
mem['percent'] = mem_info.percent
mem['used'] = mem_info.used
mem['free'] = mem_info.free
#获取磁盘
def get_disk_info():
for id in psutil.disk_partitions():
if 'cdrom' in id.opts or id.fstype == '':
continue
disk_name = id.device.split(':')
s = disk_name[0]
disk_id.append(s)
disk_info = psutil.disk_usage(id.device)
disk_total.append(disk_info.total)
disk_used.append(disk_info.used)
disk_free.append(disk_info.free)
disk_percent.append(disk_info.percent)
if __name__ == '__main__':
print(day)
print(selsys())
get_cpu_info()
cpu_status = cpu['percent']
print("CPU为:%d%%" % cpu_status)
get_mem_info()
mem_status = mem['percent']
print("内存为:%d%%" % mem_status)
get_disk_info()
for i in range(len(disk_id)):
print(u'%s盘空闲率: %s %%' % (disk_id[i], 100 - disk_percent[i]))
最后修改:2022 年 04 月 27 日
© 允许规范转载