Вы можете использовать psutil в python и создать свой собственный json.
psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python. It is useful mainly for system monitoring, profiling, limiting process resources and the management of running processes. It implements many functionalities offered by UNIX command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
Пример:
import json
import psutil
def used_mem(json_key):
mem_total = psutil.virtual_memory().total
mem_percent = psutil.virtual_memory().percent
mem_used = psutil.virtual_memory().used
mem_free = psutil.virtual_memory().free
swap_percent = psutil.swap_memory().percent
swap_total = psutil.swap_memory().total
swap_used = psutil.swap_memory().used
json_key['free_mem'] = mem_free
json_key['total_mem'] = mem_total
json_key['mem_used'] = mem_used
json_key['percent_mem'] = mem_percent
json_key['swap_percent'] = swap_percent
json_key['swap_total'] = swap_total
json_key['swap_used'] = swap_used
json_key={}
used_mem(json_key)
print json.dumps(json_key)
выход:
{"swap_used": 14061568, "percent_mem": 48.3, "free_mem": 1792401408, "total_mem": 12447776768, "mem_used": 5128196096, "swap_total": 11999899648, "swap_percent": 0.1}
полезная ссылка :https://github.com/giampaolo/psutil
В дополнение к ответу Артема Сергеевича Ташкинова:
Распространенная причина наткнуться на недопустимую кодировку UTF. -8 последовательностей в именах файлов. :Они были созданы с использованием другой локали. И да, :нередко можно найти системы, все еще работающие с кодировкой набора символов ISO -8859. Не говоря уже о множестве различных наборов символов, используемых на ПК и MAC по всему миру...
В следующем примере показаны два файла с одинаковым именем Überraschung(немецкий для сюрприз)в одном каталоге. Один файл был создан с LANG=en_us.UTF-8
,другой сLANG=en_US.ISO-8859-15
:
при указании с использованием кодировки UTF -8:
$ ls -lt
total 0
-rw-r--r-- 1 ktf ktf 0 Sep 6 12:01 ''$'\334''berraschung'
-rw-r--r-- 1 ktf ktf 0 Sep 6 12:00 Überraschung
и при перечислении с использованием кодировки ISO -8859 -15:
$ ls -lt
total 0
-rw-r--r-- 1 ktf ktf 0 Sep 6 12:01 Überraschung
-rw-r--r-- 1 ktf ktf 0 Sep 6 12:00 'Ã'$'\234''berraschung'
Подсказка:Для правильного переключения между наборами символов необходимо изменить обе следующих настроек:
LANG
в оболочке UNIX/Linux. Это определяет, как система UNIX -интерпретирует и обрабатывает символы.