Оператор If основан на процентном использовании определенных ядер процессора

#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. Ну ладно, в этом есть смысл. Спасибо за вашу помощь!