相关疑难解决方法(0)

Python - 获取传感器值和风扇速度 - Windows 10

我一直在尝试使用Python脚本来显示我的硬件中的CPU,GPU和其他可用传感器的温度,但我没有找到任何有用的东西.

我尝试使用WMI来获取这些值,但我的处理器显然不受支持.

我使用的代码是:

import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print temperature_info.CurrentTemperature
Run Code Online (Sandbox Code Playgroud)

我从另一个stackoverflow线程获得,我得到错误Traceback(最近一次调用最后):

  File "C:/Users/Joe/Desktop/test.py", line 3, in <module>
    temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
  File "C:\Python27\lib\site-packages\wmi.py", line 819, in query
    handle_com_error ()
  File "C:\Python27\lib\site-packages\wmi.py", line 241, in handle_com_error
    raise klass (com_error=err)
x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error 0x8004100c', None, None)>
Run Code Online (Sandbox Code Playgroud)

根据Microsoft支持,这意味着Not Supported (0x8004100C) 我已经尝试在cmd.exe窗口中运行此代码的命令行版本作为管理员运行,但我得到了同样的错误.

有没有其他方法可以访问CPU和GPU温度?

PS:我的操作系统是Windows 10,我的CPU是AMD FX-8350.我不确定我的操作系统或我的CPU是否有错误.

python windows cpu wmi temperature

9
推荐指数
1
解决办法
845
查看次数

在 Windows 上使用 python 获取 CPU 温度

基本上,我想用Python读取CPU温度。请用通俗易懂的方式解释一下,因为我以前从未在 Windows 上这样做过,也没有使用过wmi.

这就是我现在所拥有的:

import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print temperature_info.CurrentTemperature
Run Code Online (Sandbox Code Playgroud)

(我从这个线程中得到了这段代码:Accessing CPU temp in python

但是,在运行脚本时,我收到此错误:

Traceback (most recent call last):
  File "C:\Users\Ryan\Desktop\SerialSystemMonitor", line 4, in <module>
    temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
  File "C:\Python27\lib\site-packages\wmi.py", line 819, in query
    handle_com_error ()
  File "C:\Python27\lib\site-packages\wmi.py", line 241, in handle_com_error
    raise klass (com_error=err)
x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error 0x8004100c', None, None)>
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能让它发挥作用?

python cpu wmi temperature python-2.7

6
推荐指数
1
解决办法
1万
查看次数

PythonNet FileNotFoundException:无法找到程序集

我正在尝试执行一个Python脚本,该脚本使用Python For .Net(https://github.com/pythonnet/pythonnet)来加载名为"Kratos_3.dll"的C#库,该库与脚本位于同一文件夹中但文件无法找到.

我使用"pip install pythonnet"安装了clr.

这是我的脚本:

import clr
import sys
sys.path.insert(0,"C:\\dev\\proj_1\\")
clr.AddReference("Kratos_3") 
Run Code Online (Sandbox Code Playgroud)

我一直在收到错误

FileNotFoundException: Unable to find assembly 'Kratos_3. at Python.Runtime.CLRModule.AddReference(String name)
Run Code Online (Sandbox Code Playgroud)

当我使用IronPython运行它时,它可以工作,但我想使用常规Python 2.7来实现这一点,我需要做什么?

.net python ironpython python-2.7 python.net

6
推荐指数
2
解决办法
5105
查看次数

在没有管理员权限的情况下使用 Python 获取 CPU 和 GPU 温度 - Windows

我发布了这个问题,询问如何在 Windows 10 上获取 CPU 和 GPU 温度Get CPU and GPU Temp using Python Windows。对于那个问题,我没有包含没有管理员访问权限的限制(至少在我第一次发布答案时,以及之后的相当一段时间)。然后我修改了我的问题以使需要管理员访问权限的答案无效(这是唯一有效的答案)。一个 mod 回滚到我问题的先前版本,并要求我发布一个新问题,所以我已经这样做了。

我想知道是否有办法在 python 中获取 CPU 和 GPU 温度。我已经找到了适用于 Linux 的方法(使用psutil.sensors_temperature),我想找到适用于 Windows 的方法。

信息:
操作系统:Windows 10
Python:Python 3.8.3 64 位(所以没有 32 位 DLL)

以下是我尝试过的一些东西:

当我尝试执行以下操作时,我得到 None (从这里 - /sf/answers/228498371/):

import wmi
w = wmi.WMI()
prin(w.Win32_TemperatureProbe()[0].CurrentReading)
Run Code Online (Sandbox Code Playgroud)

当我尝试执行以下操作时,出现错误(来自此处 - /sf/answers/228498371/):

import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print(temperature_info.CurrentTemperature)
Run Code Online (Sandbox Code Playgroud)

错误:

wmi.x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error …
Run Code Online (Sandbox Code Playgroud)

python windows temperature python-3.x windows-10

5
推荐指数
1
解决办法
975
查看次数

使用 Python Windows 获取 CPU 和 GPU Temp

我想知道是否有办法在 python 中获取 CPU 和 GPU 温度。我已经找到了适用于 Linux 的方法(使用psutil.sensors_temperature()),我想找到适用于 Windows 的方法。

一种找到 Mac OS 温度的方法也将受到赞赏,但我主要想要一种适用于 Windows 的方法。

我更喜欢只使用可通过 pip 下载的 python 模块,但我可以下载额外的东西。如果您的答案需要额外的文件,我希望它不需要太多文件。

当我尝试执行以下操作时,我得到 None:

import wmi
w = wmi.WMI()
prin(w.Win32_TemperatureProbe()[0].CurrentReading)
Run Code Online (Sandbox Code Playgroud)

当我尝试执行以下操作时,出现错误:

import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print(temperature_info.CurrentTemperature)
Run Code Online (Sandbox Code Playgroud)

错误:

wmi.x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error 0x8004100c', None, None)>
Run Code Online (Sandbox Code Playgroud)

我听说过 OpenHardwareMoniter,但这需要我安装一些不是 Python 模块的东西。我也希望不必以管理员身份运行脚本来获得结果。

我也可以用 python 运行 windows cmd 命令,但我还没有找到返回 CPU 温度的命令。

更新:我发现了这个:https : //stackoverflow.com/a/58924992/13710015。虽然我不知道如何使用它。当我尝试做:时print(OUTPUT_temp._fields_),我得到了

[('Board Temp', <class 'ctypes.c_ulong'>), ('CPU Temp', <class …
Run Code Online (Sandbox Code Playgroud)

python windows python-3.x windows-10

3
推荐指数
2
解决办法
5544
查看次数