然后,您可以使用pythonnet模块来处理.dll并获取这些程序提供的任何状态。cputhermeter提供每个核心CPU温度,openhardwaremonitor提供其他一切。不需要使用要求程序在后台处于活动状态的WMI。

我已经编写了一个小脚本(python 3.6.5)来显示系统上可用的每个温度传感器,当然您可以很容易地为其他传感器类型修改此脚本。必须以管理员身份运行:

import clr #package pythonnet, not clr

openhardwaremonitor_hwtypes = ['Mainboard','SuperIO','CPU','RAM','GpuNvidia','GpuAti','TBalancer','Heatmaster','HDD']

cputhermometer_hwtypes = ['Mainboard','SuperIO','CPU','GpuNvidia','GpuAti','TBalancer','Heatmaster','HDD']

openhardwaremonitor_sensortypes = ['Voltage','Clock','Temperature','Load','Fan','Flow','Control','Level','Factor','Power','Data','SmallData']

cputhermometer_sensortypes = ['Voltage','Clock','Temperature','Load','Fan','Flow','Control','Level']

def initialize_openhardwaremonitor():

file = 'OpenHardwareMonitorLib.dll'

clr.AddReference(file)

from OpenHardwareMonitor import Hardware

handle = Hardware.Computer()

handle.MainboardEnabled = True

handle.CPUEnabled = True

handle.RAMEnabled = True

handle.GPUEnabled = True

handle.HDDEnabled = True

handle.Open()

return handle

def initialize_cputhermometer():

file = 'CPUThermometerLib.dll'

clr.AddReference(file)

from CPUThermometer import Hardware

handle = Hardware.Computer()

handle.CPUEnabled = True

handle.Open()

return handle

def fetch_stats(handle):

for i in handle.Hardware:

i.Update()

for sensor in i.Sensors:

parse_sensor(sensor)

for j in i.SubHardware:

j.Update()

for subsensor in j.Sensors:

parse_sensor(subsensor)

def parse_sensor(sensor):

if sensor.Value is not None:

if type(sensor).__module__ == 'CPUThermometer.Hardware':

sensortypes = cputhermometer_sensortypes

hardwaretypes = cputhermometer_hwtypes

elif type(sensor).__module__ == 'OpenHardwareMonitor.Hardware':

sensortypes = openhardwaremonitor_sensortypes

hardwaretypes = openhardwaremonitor_hwtypes

else:

return

if sensor.SensorType == sensortypes.index('Temperature'):

print(u"%s %s Temperature Sensor #%i %s - %s\u00B0C" % (hardwaretypes[sensor.Hardware.HardwareType], sensor.Hardware.Name, sensor.Index, sensor.Name, sensor.Value))

if __name__ == "__main__":

print("OpenHardwareMonitor:")

HardwareHandle = initialize_openhardwaremonitor()

fetch_stats(HardwareHandle)

print("\nCPUMonitor:")

CPUHandle = initialize_cputhermometer()

fetch_stats(CPUHandle)

以下是我的系统的输出:

OpenHardwareMonitor:

SuperIO Nuvoton NCT6791D Temperature Sensor #0 CPU Core - 42.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #1 Temperature #1 - 35.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #2 Temperature #2 - 34.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #3 Temperature #3 - 25.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #4 Temperature #4 - 101.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #5 Temperature #5 - 16.0°C

SuperIO Nuvoton NCT6791D Temperature Sensor #6 Temperature #6 - 14.0°C

GpuNvidia NVIDIA GeForce GTX 1070 Temperature Sensor #0 GPU Core - 60.0°C

HDD ST31000528AS Temperature Sensor #0 Temperature - 37.0°C

HDD WDC WD20EARX-00PASB0 Temperature Sensor #0 Temperature - 36.0°C

HDD WDC WDS100T2B0B-00YS70 Temperature Sensor #0 Temperature - 40.0°C

HDD WDC WD80EFZX-68UW8N0 Temperature Sensor #0 Temperature - 31.0°C

HDD WDC WD30EFRX-68EUZN0 Temperature Sensor #0 Temperature - 30.0°C

HDD WDC WD80EFZX-68UW8N0 Temperature Sensor #0 Temperature - 33.0°C

HDD Crucial_CT256MX100SSD1 Temperature Sensor #0 Temperature - 40.0°C

CPUMonitor:

CPU Intel Core i7-8700K Temperature Sensor #0 CPU Core #1 - 39.0°C

CPU Intel Core i7-8700K Temperature Sensor #1 CPU Core #2 - 38.0°C

CPU Intel Core i7-8700K Temperature Sensor #2 CPU Core #3 - 37.0°C

CPU Intel Core i7-8700K Temperature Sensor #3 CPU Core #4 - 41.0°C

CPU Intel Core i7-8700K Temperature Sensor #4 CPU Core #5 - 36.0°C

CPU Intel Core i7-8700K Temperature Sensor #5 CPU Core #6 - 47.0°C

有关进一步的文档(但是您应该能够从上面的代码推断出所需的一切),请参阅

https://github.com/openhardwaremonitor/openhardwaremonitor/

(或网站上的cputhermometer)源代码中,与python一起使用时,函数和方法是相同的。

我还没有在其他计算机上测试过,所以不同的处理器架构可能无法相同地工作。

确保您运行

Hardware[x].Update()

测量之间(和

SubHardware[x].Update()

python监控服务器cpu温度实例_用python访问CPU温度相关推荐

  1. python监控服务器cpu温度实例_监控HP服务器CPU温度的脚本

    监控HP服务器CPU温度的脚本: #!/bin/bash Name=`hostname` IP=`/sbin/ifconfig eth0 | grep "inet addr" | ...

  2. python数据库应用开发实例_纯Python开发的nosql数据库CodernityDB介绍和使用实例

    看看这个logo,有些像python的小蛇吧 .这次介绍的数据库codernityDB是纯python开发的. 先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给 ...

  3. python传递类的实例_使用Python将变量从一个类实例传递到另一个类实例?

    我在将一个类实例中定义的变量传递到另一个类实例时遇到问题.我对使用类比较陌生,但据我所知,变量可以通过简单地定义为类实例的一部分(例如在下面的示例中)从一个实例传递到另一个实例.虽然我以前使用过这个模 ...

  4. python量化交易策略实例_用 Python 实现你的量化交易策略

    Python 的学习者中,有相当一部分是冲着爬虫去的.因为爬虫可以帮你解决很多工作和生活中的问题,节约你的生命.不过 Python 还有一个神秘而有趣的应用领域,那就是量化交易. 量化交易,就是以数学 ...

  5. python 外部参数过长_介绍python中slice参数过长的处理方法及实例

    python教程栏目介绍slice参数过长的处理方法 很多小伙伴对于slice参数的概念理解停留在概念上,切片的参数有三个,分别是step .start .stop .因为参数的值也是多变的,所以我们 ...

  6. python 文件批量转换格式_使用python批量化音乐文件格式转换的实例

    使用python批量化音乐文件格式转换的实例 最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本. import os m4a_path = "/Users/Downloa ...

  7. python中len的用法_总结Python中len()函数的使用实例

    这篇文章主要简单介绍了Python中的len()函数的使用,包括在四种情况下的使用小例子,是Python学习当中的基础知识,需要的朋友可以参考下 函数:len() 1:作用:返回字符串.列表.字典.元 ...

  8. linux下运行python程序如何控制内存_用Python实现Linux系统占用指定内存,CPU满载,服务器压力测试,场景设计...

    背景 提出两个需求 占满系统CPU 占用大内存 通过上网查资料,做实验使用Python实现了上述两个需求. 先看效果 执行前 内存 CPU 执行后 内存 CPU 代码实现 环境说明:代码使用Pytho ...

  9. python实现冒泡排序完整算法_利用python实现冒泡排序算法实例代码

    利用python实现冒泡排序算法实例代码 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数 ...

  10. 用python绘制树和森林_使用Python的Turtle库绘制森林的实例

    这是由一个小作业引发的对Python的Turtle库的学习 下面是官方手册: 1.配置编程环境 由于现在的笔记本是临时借的,编程环境不是熟悉的环境,又由于种种原因没有安装成功Anaconda,就尝试了 ...

最新文章

  1. 一年参加一次就够,全新升级的AI开发者大会议程出炉!
  2. boost::hana::basic_tuple用法的测试程序
  3. Bootstrap导航栏注释
  4. [ MSSQL ]分页排序存储过程
  5. opencv 头文件 包含 include 的问题
  6. 归并排序java代码实现
  7. 汽车品牌查询及车型大全查询
  8. 运筹学修炼日记:TSP中两种不同消除子环路的方法及callback实现(Python调用Gurobi求解,附以王者荣耀视角解读callback的工作逻辑)
  9. 需求预测——Gallat: A Spatiotemporal Graph Attention Network for Passenger Demand Prediction
  10. Day 20 IOl流
  11. java 服务器 http请求_Java网络编程——发送HTTP请求到服务器
  12. ssd测试软件cy,简析物体识别SSD算法
  13. C++ QT开发人机象棋(剪枝算法)
  14. iOS 16测试版目前已知问题和Bug汇总
  15. 浅谈天线 - - - GNSS/BT/4G/2.4G
  16. Kali自带屏幕截图功能
  17. 小萌库 - 2014世界足球杯全程精彩回顾
  18. 2013我在奔波中走过-----------那年的高考改变了我们什么?
  19. 基于NXP i.MX 8M Mini芯片的MYC-C8MMX核心板详细资料
  20. DEMO:淘课网(HTML+CSS+JS+jquery+PHP+XAMPP)

热门文章

  1. android pc投屏,安卓投屏助手pc版
  2. iOS-纯代码,10天高仿内涵段子
  3. 艺术留学|工业设计专业2019大学新排名
  4. 计算机网络:四类数据编码技术
  5. 拉卡拉服务器响应超时,拉卡拉传统POS机11个常见问题及解决方法
  6. json数组转json对象(利用map()函数)
  7. 苹果开发者账号添加受信任电话号
  8. 【NLP】Word2Vec模型文本分类
  9. 数据分析与可视化(四)Pandas学习基础一:统计分析基础
  10. 罗翔老师转谈记录,不同认知出发//心之所向,素履以往,生如逆旅,一苇以航。