Отделите часть вывода python, а затем преобразуйте ее в другую единицу

Я знаю, что из названия все звучит сложно, но на самом деле все просто.

Итак, я пытаюсь собрать системные данные с помощью python и использую модуль psutil с python 3.6. Я хочу найти используемую память, поэтому я сделал команду psutil.virtual_memory(). Однако результат, который я получил, был svmem(total=8535257088, available=3911340032, percent=54.2, used=4623917056, free=3911340032).

Я хочу сохранить только часть used=4623917056 вывода. Как бы я отделил эту часть от вывода?

Кроме того, used=4623917056 находится в байтах. Я хочу преобразовать его в гигабайты и сохранить результат до трех старших цифр (в данном случае это будет 4,62). Как бы я поступил так же?


person Pokestar Fan    schedule 25.06.2017    source источник


Ответы (2)


Воспользуйтесь самым простым:

round(psutil.virtual_memory().used /(1024 ** 3),2)

в python функция round() будет иметь два аргумента, один из которых является самим значением а другое - это количество цифр, которые вы хотите сохранить после запятой.

person Gahan    schedule 25.06.2017

person    schedule
comment
Спасибо. Однако это не сохраняет первые 3 цифры. Я просто получаю полную информацию (4,62......) - person Pokestar Fan; 25.06.2017
comment
Пожалуйста. Посмотрите параметры строки формата здесь: docs.python.org/3.4/library/ string.html#formatspec — возможно, вы найдете подходящий вариант. - person John Zwinck; 25.06.2017