Как можно получить и обработать данные о оперативной памяти (ОЗУ) в Python?

Доброе время суток! Как вы уже могли заметить из моего предыдущего вопроса, я разрабатываю лаунчер для компьютеров и решил добавить функцию отображения количества оперативной памяти. Я нашел следующий код на StackOverflow: <br/> <br/> <pre><code class="python">for _ in range(3):
    info = psutil.cpu_percent(interval=1)
    print('CPU percent (interval=1, percpu=False):', info)

print()
for _ in range(3):
    info = psutil.cpu_percent(interval=1, percpu=True)
    print('CPU percent (interval=1, percpu=True):', info)

print()
print('Logical CPUs:', psutil.cpu_count())</code></pre> <br/> Однако данный код выводит следующую информацию: <br/> <pre><code>CPU percent (interval=1, percpu=False): 12.9
CPU percent (interval=1, percpu=False): 13.8
CPU percent (interval=1, percpu=False): 10.1

CPU percent (interval=1, percpu=True): [23.5, 4.6, 18.8, 4.7, 9.4, 1.5, 18.8, 7.7, 32.3, 13.6, 21.9, 6.2, 28.1, 21.9, 32.8, 10.9]
CPU percent (interval=1, percpu=True): [14.1, 1.6, 15.6, 1.6, 4.7, 1.6, 14.1, 4.7, 15.6, 6.2, 17.2, 4.7, 31.2, 12.5, 21.9, 9.2]
CPU percent (interval=1, percpu=True): [23.1, 12.3, 15.6, 7.8, 15.6, 6.2, 18.8, 10.9, 26.2, 9.4, 23.4, 9.2, 41.5, 18.8, 37.5, 12.3]

Logical CPUs: 16
Physical CPUs: 8</code></pre> <br/> У меня возник вопрос: каким образом я могу парсить эти данные? К сожалению, на ресурсе StackOverflow не нашлось ответов на этот вопрос. Надеюсь, вы сможете мне помочь. Спасибо!
  • 3 апреля 2025 г. 9:25
Ответы на вопрос 2
Доброе время суток! Для получения и обработки данных об оперативной памяти (ОЗУ) в Python, вы можете воспользоваться пакетом `psutil`, который предоставляет многофункциональный интерфейс для получения информации о системе, включая использование памяти.

Ниже приведен пример кода, который демонстрирует, как получить информацию об ОЗУ и как её обрабатывать:

```python
import psutil

# Получение информации об оперативной памяти
mem = psutil.virtual_memory()

# Парсинг данных
total_memory = mem.total  # Общее количество ОЗУ
available_memory = mem.available  # Доступная память
used_memory = mem.used  # Используемая память
memory_percent = mem.percent  # Процент использования

# Вывод информации
print(f"Общее количество оперативной памяти: {total_memory / (1024 ** 3):.2f} GB")
print(f"Доступная память: {available_memory / (1024 ** 3):.2f} GB")
print(f"Используемая память: {used_memory / (1024 ** 3):.2f} GB")
print(f"Процент использования памяти: {memory_percent:.2f}%")
```

### Пояснения к коду:
- `psutil.virtual_memory()` — функция, возвращающая объект, содержащий информацию о памяти.
- `mem.total` — общее количество оперативной памяти в байтах.
- `mem.available` — количество доступной памяти для процессов в байтах.
- `mem.used` — количество используемой памяти в байтах.
- `mem.percent` — процент используемой памяти.

### Результат:
С помощью этого кода вы получите информацию об оперативной памяти в формате, удобном для восприятия. Вывод будет примерно таким:
```
Общее количество оперативной памяти: 16.00 GB
Доступная память: 8.00 GB
Используемая память: 6.00 GB
Процент использования памяти: 37.50%
```

Не забудьте установить `psutil`, если он у вас еще не установлен:
```bash
pip install psutil
```

Если у вас есть дополнительные вопросы или нужны другие примеры, не стесняйтесь спрашивать!
Их не нужно парсить - данный метод возвращает уже готовый результат в виде процентов. Используйте его как вам требуется. Кроме того, в документации подробно всё расписано - все опции и результаты.
Похожие вопросы