安装psutil模块
pip install psutil
示例
import psutil
# 获取磁盘信息
def get_disk_info():
content = ''
data = []
total_capacity = 0
used_capacity = 0
for disk in psutil.disk_partitions():
if 'cdrom' in disk.opts or disk.fstype == '':
continue
disk_name_arr = disk.device.split(':')
disk_name = disk_name_arr[0]
disk_info = psutil.disk_usage(disk.mountpoint)
total_disk_size = disk_info.total // 1024 // 1024 // 1024
used_disk_size = disk_info.used // 1024 // 1024 // 1024
free_disk_size = disk_info.free // 1024 // 1024 // 1024
info = '磁盘:%s盘使用率:%s%%,总量:%iG,已用:%iG,剩余:%iG' % (
disk_name, str(disk_info.percent), total_disk_size, used_disk_size, free_disk_size)
if content:
content = content + ';' + info
else:
content = info
data_dict = {
'disk_name': disk_name,
'usage': f'{disk_info.percent}%',
'total_capacity': f'{round(total_disk_size, 2)}G',
'used_capacity': f'{round(used_disk_size, 2)}G',
'residual_capacity': f'{round(free_disk_size, 2)}G'
}
total_capacity += total_disk_size
used_capacity += used_disk_size
data.append(data_dict)
res = {
'detail_data': data,
'tip_info': content,
'total_capacity': f'{round(total_capacity, 2)}G',
'used_capacity': f'{round(used_capacity, 2)}G',
'residual_capacity': f'{round((total_capacity - used_capacity), 2)}G',
'usage': f'{round((used_disk_size / total_capacity * 100), 2)}%' if total_capacity else '0%'
}
return res
# 获取cpu信息
def get_cpu_info():
cpu_percent = psutil.cpu_percent(interval=1)
cpu_info = 'CPU使用率:%i%%' % cpu_percent
data_dict = {'usage': f'{cpu_percent}%', 'tip_info': cpu_info}
return data_dict
# 获取内存信息
def get_memory_info():
virtual_memory = psutil.virtual_memory()
total_memory = virtual_memory.total / 1024 / 1024 / 1024
used_memory = virtual_memory.used / 1024 / 1024 / 1024
free_memory = virtual_memory.free / 1024 / 1024 / 1024
memory_percent = virtual_memory.percent
memory_info = '内存:使用率%0.1f%%,总量:%0.2fG,已用:%0.2fG,剩余:%0.2fG' % (
memory_percent, total_memory, used_memory, free_memory)
data_dict = {
'usage': f'{memory_percent}%',
'total_capacity': f'{round(total_memory, 2)}G',
'used_capacity': f'{round(used_memory, 2)}G',
'residual_capacity': f'{round(free_memory, 2)}G',
'tip_info': memory_info
}
return data_dict