Ну и где тут сплит по тире?
До меня не доходит, что Вы имеете ввиду
IskatelМожно или упростить алгоритм за счет большего поедания ресурсов на сплитах, или отказаться от сплитов в пользу других средств. А ваш текущий вариант скорей компромиссный.
До меня не доходит, что Вы имеете ввиду
Shaman
Можно или упростить алгоритм за счет большего поедания ресурсов на сплитах, или отказаться от сплитов в пользу других средств. А ваш текущий вариант скорей компромиссный.
IskatelБольше для “поговорить”
А зачем?
out =[] pos = -1 with open('d:\\info.txt') as f: for line in f: if line[0] == '-': pos = 0 elif pos == 0: mt = int(line[9:24]) pos = 1 elif pos == 1: mf = int(line[9:24]) pos = 2 elif pos == 2: buf = int(line[9:24]) pos = -1 out.append({'MemTotal':mt,'MemFree':mf,'Buffers':buf})
import time out =[] pos = -1 with open('d:\\info.txt') as f: for line in f: if line[0] == '-': s = ':'.join(line.split(':')[0:3]) # костыль, тайм меньше секунды не кушает tm = time.mktime(time.strptime(s,'---%Y-%m-%d %H:%M:%S')) pos = 0 elif pos == 0: mt = int(line[9:24]) pos = 1 elif pos == 1: mf = int(line[9:24]) pos = 2 elif pos == 2: buf = int(line[9:24]) pos = -1 out.append({'Time':tm,'MemTotal':mt,'MemFree':mf,'Buffers':buf})