Python实现系统基础信息

简介: Python实现系统基础信息

Python实现系统基础信息

import psutil,sys
 
def get_info_cpu():
    # 获取CPU的逻辑个数
    cpu_counts = psutil.cpu_count()
    # 获取CPU运行时间 ,可以进一步查看系统运行时间,空闲时间、用户空间运行时间等
    cpu_times = psutil.cpu_times_percent(percpu=True)
    #获取CPU状态
    cpu_stats = psutil.cpu_stats()
    print("服务区CPU的个数为: {}\nCPU运行时间: {}\nCPU状态: {}".format(cpu_counts,cpu_times,cpu_stats))
 
def get_mem_info():
    mem = psutil.virtual_memory()
    # 总内存
    total_mem = int(mem.total/1024/1024)
    # 已用内存
    user_mem = int(mem.used/1024/1024)
    # 空闲内存
    free_mem = int(mem.free/1024/1024)
    print("服务器总内存:{}M,\n已用内存: {}M,\n空闲内存: {}M".format(total_mem,user_mem,free_mem))
 
def get_disk():
    # 要排除的磁盘列表,为空代表全部需要查询
    excluded_disks = ["/dev/sda1"]
 
    # 获取所有磁盘信息
    disk_info = psutil.disk_partitions()
    for disk in disk_info:
           if disk.device in excluded_disks:
               continue
           try:
               u = psutil.disk_usage(disk.mountpoint)
               print("磁盘: {},\n磁盘大小: {:.2f} GB,\n已用: {:.2f} GB,\n空闲: {:.2f} GB,\n使用率: {:.2f}%".format(disk.device,u[0]/1024**3,u[1]/1024**3,u[2]/1024**3,u[3]))
           except Exception as e:
                print(f"获取磁盘信息失败: {e}")
 
def get_net():
    info = psutil.net_io_counters()
    print("bytes_sent: {}\nbytes_recv: {}\npackets_sent: {}\npackets_reve: {}".format(info[0],info[1],info[2],info[3]))
 
def get_pid():
    pids = psutil.pids()
    for i in pids:
        print("进程名: {},进程ID: {},进程状态: {}".format(psutil.Process(i).name,psutil.Process(i).pid,psutil.Process(i).status()))
 
if __name__ == '__main__':
    msg = input("请输入需要查看的系统信息:(cpu|mem|disk|net|pid)")
    if msg:
        if msg == 'cpu':
            get_info_cpu()
        elif msg == 'mem':
            get_mem_info()
        elif msg == 'disk':
            get_disk()
        elif msg == 'net':
            get_net()
        elif msg == 'pid':
            get_pid()
        else:
            print("输入不合法,程序退出")
            sys.exit(1)
    else:
        print("输入为空,程序退出")
        sys.exit(1)
相关文章
|
6天前
|
机器学习/深度学习 数据采集 供应链
Python实现深度学习模型:智能库存管理系统
【10月更文挑战第5天】 Python实现深度学习模型:智能库存管理系统
44 9
|
13天前
|
Python
Python编程获取当前日期的所属周日期信息
Python编程获取当前日期的所属周日期信息
30 1
|
1天前
|
机器学习/深度学习 API 计算机视觉
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(下)
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(下)
6 2
|
1天前
|
机器学习/深度学习 存储 算法
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(上)
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(上)
7 1
|
4天前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
22 1
|
10天前
|
Linux 开发者 iOS开发
告别兼容烦恼!Python系统编程中的跨平台艺术大师🎨
【10月更文挑战第2天】Python 以其强大的跨平台能力成为系统编程领域的艺术大师,有效解决了不同操作系统间的兼容性问题,让开发者能专注于业务逻辑而非平台差异。通过内置的 `os`、`platform` 和 `subprocess` 模块,以及第三方库如 `pathlib`,Python 能轻松处理文件系统操作、执行外部命令等任务。此外,Python 还提供了 Tkinter、PyQt 等库支持跨平台 GUI 开发,确保应用程序在 Windows、macOS 和 Linux 上均能正常运行。Python 的强大工具链使其在跨平台编程领域中持续引领新潮流。
30 4
|
9天前
|
小程序 Python
利用Python编程提取身份证的信息
利用Python编程提取身份证的信息
13 2
|
11天前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
12天前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
12 1
|
14天前
|
Python
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
35 2