Форум сайта python.su
1
Уважаемые форумчане. После работы данного кода:
#coding: utf-8 import datetime import serial import time benning_viprymitel = serial.Serial() benning_viprymitel.baudrate = 9600 benning_viprymitel.bytesize = 8 benning_viprymitel.stopbits = 1 benning_viprymitel.xonxoff = 0 benning_viprymitel.rtscts = 0 benning_viprymitel.timeout = 0 benning_viprymitel.port = 0 benning_viprymitel.parity=serial.PARITY_NONE benning_viprymitel.open() print benning_viprymitel.portstr while True: benning_viprymitel.write('AB\r') time.sleep(2) stroka = benning_viprymitel.readall() spisok_avariy = stroka.split('\r\n') spisok_avariy = spisok_avariy[-3] spisok_avariy = spisok_avariy.split(';') for avariya in spisok_avariy: if avariya == '_VT4800': now_time = datetime.datetime.now() vremya = now_time.strftime("%d\%m\%Y %H:%M:%S") print u'Автоматы 48В норма. {0}'.format(vremya) if avariya == ' VT4800': now_time = datetime.datetime.now() vremya = now_time.strftime("%d\%m\%Y %H:%M:%S") print u"Срабатывание автомата 48 В. {0}".format(vremya) if avariya == '_FUSLOA': now_time = datetime.datetime.now() vremya = now_time.strftime("%d\%m\%Y %H:%M:%S") print u'Автоматы 60В норма. {0}'.format(vremya) if avariya == ' FUSLOA': now_time = datetime.datetime.now() vremya = now_time.strftime("%d\%m\%Y %H:%M:%S") print u'Срабатывание автомата 60В. {0}'.format(vremya) if avariya[0] == ' ': print avariya, ' ', vremya
Прикреплённый файлы:
com.JPG (70,0 KБ)
Офлайн
1
Забыл уточнить строка начинается с символа Q и заканчивается 5 всегда разными цифрами после _FANREC07
Офлайн
75
Офлайн
221
ingfa_1981
исходное положение - нужно получить строку от Q до тех самых последних цифр. Дальше полученную строку разбить на строки исходя из символов переноса. Пройтись по всем строкам и распарсить их как надо, в зависимости от условий.
К тому же вы не сказали в каком виде хотите список значений.
Офлайн
1
Просто элементы списка
[начиная с "UBAT 66.8 V", "UBBR 66.9 V",,,тут остальные элементы списка,, заканчивая "_FANREC07"]
Отредактировано ingfa_1981 (Июнь 20, 2014 05:53:34)
Офлайн
221
s # исходная строка l=[x for x in s.splitlines()[2:-1] ]
Офлайн