python如何获取主机信息(cpu,内存,硬盘,网络)

 更新时间:2026年09月23日 08:51:20   作者:待到烟火清凉时  
想知道怎么用js实现3d旋转效果吗?本文分享简单易懂的javascript代码,教你轻松做出div立体旋转动画,附完整示例,新手也能快速上手

python获取主机信息(cpu,内存,硬盘,网络)

代码如下

# -*- coding = utf-8 -*-
# @Time: 2023/9/26 12:22
# @Author: YK
# @File: 获取系统信息.py
# @Software: PyCharm
import psutil as pl

def showComputerInfo():

    print("CPU信息:")
    # # logical=False 查看物理核心数
    cpuCountsPhysical = pl.cpu_count(logical=False)
    print(f"    CPU物理核数:{cpuCountsPhysical}")
    #
    # # logical=True 获取逻辑核心数(线程数)
    cpu_count = pl.cpu_count(logical=True)
    print(f"    CPU线程数:{cpu_count}")
    #
    # # CPU的使用率
    cpu_percent = pl.cpu_percent(interval=1)
    print(f"    CPU使用率:{cpu_percent}%")
    #
    print('内存信息:')
    # # 物理内存总量
    total_memory = pl.virtual_memory().total
    print(f'    内存总量:{int(total_memory/1024/1024)}M')
    #
    # # 可用内存总量
    availabele_memory = pl.virtual_memory().available
    print(f'    可用内存:{int(availabele_memory/1024/1024)}M')
    #
    # # 内存使用率
    memory_percent = pl.virtual_memory().percent
    print(f'    内存使用率:{memory_percent}%')

    print("磁盘信息:")
    # 获取磁盘分区信息
    disk_parts = pl.disk_partitions()
    for disk in disk_parts:
        print(f'    分区名称:{disk.mountpoint.split(":")[0]} 文件类型:{disk.fstype}',end=' ')
        print(f'磁盘利用率:{int(pl.disk_usage(disk.mountpoint).total/1024/1024/1024)}G',end=' ')
        print(f'磁盘空间:{pl.disk_usage(disk.mountpoint).percent}%')

    # 获取网卡信息
    print('网卡信息:')
    ip_adds = pl.net_if_addrs()
    keys = ip_adds.keys()
    for key in keys:
        print(f"    网卡名称:{key}",end=' ')
        print(f"网卡MAC:{ip_adds[key][0].address}",end=' ')
        print(f"网卡IP:{ip_adds[key][1].address}")


def getNetworkInfo():

    print("获取网络连接信息")
    netConnect = pl.net_connections()
    print('本地地址'.ljust(23),'远程地址'.ljust(22),'PID'.ljust(10),'进程名')
    for nc in netConnect:
        if nc[5] == 'ESTABLISHED':
            if nc[3][0].startswith('10') :
                precessName = getPidNname(nc[6])
                print(f'{nc[3][0]}:{nc[3][1]}'.ljust(25),f'{nc[4][0]}:{nc[4][1]}'.ljust(25),f'{nc[6]}'.ljust(10),precessName)

def getPidNname(pid):

    processList = pl.process_iter()
    for process in processList:
        if process.pid == pid:
            return process.name()

showComputerInfo()
getNetworkInfo()

效果如下

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • matlab中二维插值函数interp2的使用详解

    matlab中二维插值函数interp2的使用详解

    这篇文章主要介绍了matlab中二维插值函数interp2的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 关于Python中进度条的六个实用技巧分享

    关于Python中进度条的六个实用技巧分享

    在项目开发过程中加载、启动、下载项目难免会用到进度条,下面这篇文章主要给大家介绍了关于Python中进度条的六个实用技巧,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • opencv 阈值分割的具体使用

    opencv 阈值分割的具体使用

    这篇文章主要介绍了opencv 阈值分割的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python编程进阶代码逻辑分离指南

    Python编程进阶代码逻辑分离指南

    在 Python 编程中,适当的代码逻辑分离可以帮助降低复杂度、提高可读性,减少大量的 if-else 结构,本文将深入探讨如何使用不同方法来改进代码结构,降低对 if-else 结构的依赖
    2023-12-12
  • 基于python代码实现简易滤除数字的方法

    基于python代码实现简易滤除数字的方法

    今天小编就为大家分享一篇基于python代码实现简易滤除数字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • pytorch教程resnet.py的实现文件源码分析

    pytorch教程resnet.py的实现文件源码分析

    torchvision.models这个包中包含alexnet、densenet、inception、resnet、squeezenet、vgg等常用的网络结构,并且提供了预训练模型,可以通过简单调用来读取网络结构和预训练模型
    2021-09-09
  • Pandas中Apply函数加速百倍的技巧分享

    Pandas中Apply函数加速百倍的技巧分享

    虽然目前dask,cudf等包的出现,使得我们的数据处理大大得到了加速,但是并不是每个人都有比较好的gpu。本文为大家分享几个Pandas中Apply函数加速百倍的技巧,希望有所帮助
    2022-07-07
  • python用turtle库绘画圣诞树

    python用turtle库绘画圣诞树

    大家好,本篇文章主要讲的是python用turtle库绘画圣诞树,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Pytorch关于Dataset 的数据处理

    Pytorch关于Dataset 的数据处理

    这篇文章主要介绍了Pytorch关于Dataset 的数据处理,学习如何对卷积神经网络编程;首先,需要了解Pytorch对数据的使用,也是在我们模型流程中对数据的预处理部分,下面我们就一起进入文章查看具体处理过程吧
    2021-12-12
  • python 叠加等边三角形的绘制的实现

    python 叠加等边三角形的绘制的实现

    这篇文章主要介绍了python 叠加等边三角形的绘制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08

最新评论