Форум сайта python.su
0
С сайта получаю данные через переменную name_elem_site.
Данные - 1 слово.
Через какое-то время оно заменяется на другое. Может даже по 10 слов в секунду или больше. Т.е. вместо переменной может быть: Слово1, Слово2, Слово3, .., Слово2, Слово3, .., СловоN.
1) Необходимо эти данные записывать в список(?) и помещать в лог файл1.
2) Затем, считывать этот лог файл и подсчитывать количество повторений с выводом в консоль и записью в другой лог файл2.
Вот код который есть:
with open("logfile.txt", "w") as log: while True: name_elem_site = text_element_by_class_name(driver, "texttexttext") a = [] for word in name_elem_site: # хз какое условие, количество слов не известно, но явно не больше 50 a.append(str(name_elem_site)) print(a) log.write(str(name_elem_site) + "\n") log.flush()
Офлайн
61
Заполняйте словарь с инкрементом по значению
В простейшем виде что бы было понятен ход мыслей
tmp = [1, 2, 3, 4, 1, 2, 3, 5, 5, 5, 2] result = {} for i in tmp: if i in result: result[i] += 1 else: result[i] = 1 print(result)
{1: 2, 2: 3, 3: 2, 4: 1, 5: 3}
Офлайн
0
ZerG
Заполняйте словарь с инкрементом по значениюВ простейшем виде что бы было понятен ход мыслей
name_elem_site = text_element_by_class_name(driver, "texttexttext") currentList = [] currentWord = currentList.append(str(name_elem_site)) if name_elem_site: for word in currentList: if word == currentWord: continue currentWord = word currentList.append(word) log.write("%s\n" % word) log.flush()
Отредактировано Alibanan (Дек. 21, 2016 08:58:22)
Офлайн
61
ошибка стопа?
выведите принтом word и посмотрите - может там одно значение?
Офлайн
0
ZerGОбновил пост выше. Новая проблема с повторами. Нельзя подряд вводить 2 одинаковых слова.
ошибка стопа? выведите принтом word и посмотрите - может там одно значение?
if currentList[-1] != word: currentList.append(word)
Отредактировано Alibanan (Дек. 21, 2016 09:07:31)
Офлайн
186
> Затем, считывать этот лог файл и подсчитывать количество повторений с выводом в консоль и записью в другой лог файл2.
Зачем такие сложность считай сразу повторы из потока через
from collections import Counter
Офлайн
0
RodegastВозможно, потому что я в питоне пару дней
> Затем, считывать этот лог файл и подсчитывать количество повторений с выводом в консоль и записью в другой лог файл2.Зачем такие сложность считай сразу повторы из потока через

Офлайн