Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 16, 2017 14:05:15

Atuan
Зарегистрирован: 2017-09-16
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипт полуения показателей температуры cpu и gpu

Доброго времени суток. Написал небольшой скрипт для получения информации о температуре ядра гпу и самого горячего ядра цпу. Интересует, нельзя ли оптимизировать скрипт? Мне он кажется немного громоздким.

 #!/usr/bin/env python3
gpuPath = '/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon3/temp1_input'
cpu1Path = '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input'
cpu2Path = '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input'
cpu3Path = '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp4_input'
cpu4Path = '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp5_input'
with open(gpuPath, 'r') as g:
    gpuTemp = int(g.read()) / 1000
with open(cpu1Path, 'r') as c1:
    cpu1Temp = int(c1.read()) / 1000
with open(cpu2Path, 'r') as c2:
    cpu2Temp = int(c2.read()) / 1000
with open(cpu3Path, 'r') as c3:
    cpu3Temp = int(c3.read()) / 1000
with open(cpu4Path, 'r') as c4:
    cpu4Temp = int(c4.read()) / 1000
cpuTemps = (cpu1Temp, cpu2Temp, cpu3Temp, cpu4Temp)
maxCpuTemp = cpuTemps[0]
for i in cpuTemps[1:-1]:
    if i > maxCpuTemp:
        maxCpuTemp = i
print(str(maxCpuTemp) + '°C', '  ', str(gpuTemp) + '°C')

Отредактировано Atuan (Сен. 16, 2017 14:15:53)

Офлайн

#2 Сен. 16, 2017 15:33:36

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Скрипт полуения показателей температуры cpu и gpu

Например так:

 #!/usr/bin/env python3
data = {
    'gpu': {'path': '/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon3/temp1_input'},
    'cpu1': {'path': '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input'},
    'cpu2': {'path': '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input'},
    'cpu3': {'path': '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp4_input'},
    'cpu4': {'path': '/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp5_input'},
}
for name, d in data.items():
    with open(d['path']) as f:
        d['temp'] = int(f.read()) / 1000
max_cpu_temp = max([d['temp'] for name, d in data.items() if name.startswith('cpu')])
gpu_temp = data['gpu']['temp']
print('{}°C\t{}°C'.format(max_cpu_temp, gpu_temp))



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Сен. 16, 2017 16:35:31

Atuan
Зарегистрирован: 2017-09-16
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипт полуения показателей температуры cpu и gpu

JOHN_16,
спасибо большое за показательный пример.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version