使用psutil模块获取设备信息

安装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

psutil是一个用于获取系统信息Python模块。它可以获取系统CPU、内存、磁盘、网络等方面的信息,并且提供了方便的方法来管理进程和系统资源。下面是psutil模块的安装和使用方法: 1. 安装psutil模块 在命令行中执行以下命令安装psutil模块: ``` pip install psutil ``` 2. 使用psutil模块 导入psutil模块: ``` import psutil ``` 获取CPU信息: ``` cpu_count = psutil.cpu_count() # CPU逻辑核心数 cpu_percent = psutil.cpu_percent() # CPU利用率 ``` 获取内存信息: ``` mem = psutil.virtual_memory() # 获取系统内存使用情况 mem_total = mem.total # 内存总量 mem_used = mem.used # 已使用内存量 mem_percent = mem.percent # 内存使用率 ``` 获取磁盘信息: ``` disk_usage = psutil.disk_usage('/') # 获取指定磁盘挂载点的使用情况 disk_total = disk_usage.total # 磁盘总量 disk_used = disk_usage.used # 已使用磁盘量 disk_percent = disk_usage.percent # 磁盘使用率 ``` 获取网络信息: ``` net_io_counters = psutil.net_io_counters() # 获取网络IO信息 net_io_bytes_sent = net_io_counters.bytes_sent # 发送的字节数 net_io_bytes_recv = net_io_counters.bytes_recv # 接收的字节数 ``` 获取进程信息: ``` pids = psutil.pids() # 获取所有进程ID列表 for pid in pids: process = psutil.Process(pid) # 获取指定进程对象 process_name = process.name() # 进程名 process_cmdline = process.cmdline() # 进程命令行参数 process_cpu_percent = process.cpu_percent() # 进程CPU使用率 process_memory_info = process.memory_info() # 进程内存使用情况 process_memory_rss = process_memory_info.rss # 进程实际使用的物理内存量 process_memory_vms = process_memory_info.vms # 进程虚拟内存大小 ``` 以上仅是psutil模块的一些基本用法,psutil提供的功能非常丰富,可以根据具体需求来查看psutil的文档和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值