Я чувствую, что должен быть более простой (более чистый) способ использования пониманий для анализа файла meminfo в linux.Формат файла:
MemTotal: 3045588 kB
MemFree: 1167060 kB
Buffers: 336752 kB
Cached: 721980 kB
SwapCached: 0 kB
Active: 843592 kB
Inactive: 752920 kB
Active(anon): 539968 kB
Inactive(anon): 134472 kB
Я попытался переписать идентификатор цикла for
, используемый для использования понимания, и обнаружил, что мне нужно 3 из них ...
def parse_mem_file(memfile = '/proc/meminfo'):
lines = open(memfile, 'r').readlines()
lines = [line.strip('kB\n') for line in lines if line[-3:] == 'kB\n']
lines = [line.split(':') for line in lines]
return dict((key, int(value)) for (key, value) in lines)
print parse_mem_file()
Что я делаю неправильно?Есть ли разумный способ упростить это?