Si hallas algún error en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al proyecto final.
Solución:
Hay una API más nueva de “zona térmica sysfs” (consulte también el artículo LWN y el documento del kernel de Linux) que muestra temperaturas por debajo de, por ejemplo
/sys/class/thermal/thermal_zone0/temp
Las lecturas están en milésimas de grados Celsius (aunque en núcleos más antiguos, puede haber sido solo grados C).
Recientemente implementé esto en psutil solo para Linux.
>>> import psutil
>>> psutil.sensors_temperatures()
'acpitz': [shwtemp(label='', current=47.0, high=103.0, critical=103.0)],
'asus': [shwtemp(label='', current=47.0, high=None, critical=None)],
'coretemp': [shwtemp(label='Physical id 0', current=52.0, high=100.0, critical=100.0),
shwtemp(label='Core 0', current=45.0, high=100.0, critical=100.0),
shwtemp(label='Core 1', current=52.0, high=100.0, critical=100.0),
shwtemp(label='Core 2', current=45.0, high=100.0, critical=100.0),
shwtemp(label='Core 3', current=47.0, high=100.0, critical=100.0)]
Si su Linux es compatible con ACPI, leer pseudo-archivo /proc/acpi/thermal_zone/THM0/temperature
(el camino puede diferir, sé que es /proc/acpi/thermal_zone/THRM/temperature
en algunos sistemas) debería hacerlo. Pero no creo que haya una manera que funcione en cada sistema Linux en el mundo, ¡así que tendrás que ser más específico sobre exactamente qué Linux tienes!-)
Si posees alguna duda o disposición de desarrollar nuestro tutorial puedes añadir un exégesis y con mucho placer lo interpretaremos.