#python #psutil
#питон #блок питания
Вопрос:
Python 3.10
Допустим, у меня есть такой скрипт на python:
import psutil print("="*40, "CPU Info", "="*40) print("Physical cores:", psutil.cpu_count(logical=False)) print("Total cores:", psutil.cpu_count(logical=True)) print("CPU Usage Per Core:") for i, percentage in enumerate(psutil.cpu_percent(percpu=True, interval=1)): print(f"Core {i}: {percentage}%") print(f"Total CPU Usage: {psutil.cpu_percent()}%")
Что дает следующий результат:
======================================== CPU Info ======================================== Physical cores: 4 Total cores: 8 CPU Usage Per Core: Core 0: 13.6% Core 1: 1.5% Core 2: 18.5% Core 3: 0.0% Core 4: 16.9% Core 5: 7.7% Core 6: 9.2% Core 7: 9.2% Total CPU Usage: 9.7%
Что мне нужно, чтобы иметь возможность добавить к этому, так это то, что если какое-либо из ядер с 0 по 3 используется более чем на 50%, то сделайте что-нибудь (я знаю, как написать часть кода «Сделай что-нибудь»).
Как бы я написал эту часть «если»? Где я застрял, так это в явном виде указываю основные числа.
Мне также потребуется сделать это с другими ядрами, а иногда и со всеми из них, но если я увижу синтаксис для приведенного выше примера, я смогу понять, как охватить другие примеры.
Комментарии:
1.
if percentage gt;= 50.0:
?2. У вас есть номер ядра
i
, и вы используетеif
блок для выполнения логики. На чем ты застрял?3. Меня интересуют только ядра 0-3 явно. Я не понимаю, как вышеприведенная логика отражает это.
Ответ №1:
внутри цикла for вы должны написать
if percentage gt; 50 and i lt; 4: #DO
Комментарии:
1. Меня интересуют только ядра 0-3 явно. Ваш код, похоже, не учитывает этого.
2. Я отредактировал свой ответ, чтобы учесть это.
3. Ах, хорошо, значит, вы можете буквально назвать номер перечисления
i
таким образом. Хорошо, это должно быть достаточно просто…4. i (обозначение индекса) — это просто число, целое число, если вам это знакомо по строго типизированным языкам. Вы можете получить доступ и использовать его так же просто, как и любые другие переменные / числа
5. Ну ладно, в этом есть смысл. Спасибо за вашу помощь!