Если у вас данные во второй файл не поступают динимачечски, то разумнее его отсортировать один раз по ip и так хранить. Возможно - сразу-же и отсортировать. А в случае необходимости - просто извлекать нужные записи из уже отсортированного файла.
Это можно сделать в Python "в ручную", но проще - через pandas. Т.е. читаете файл в DataFrame, группируете (group by), сортируете и получившийся DataFrame сбрасываете на диск. Далее - по мере необходимости - работаете с уже отсортированным файлом (или DataFrame - в зависимости от того, что за задача).
Если же у вас данные поступают динамически, причем динамически изменяется и первый и второй файл (т.е. второй файл просто постоянно накапливает новую информацию, а первый - это по сути запрос пользователя на поиск конкретных ip вовтором файле) - то ничего другого, как последовательного просмотр второго файла для каждого вновь заданного ip придумать сложно.
Сделайте сигнал в MainWindow::onWindowClosed и вызывайте его в MainWindow:: closeEvent (QCloseEvent *event)
Подключите сигнал во все отдельные окна в hide() или close()
Вам нужно использовать базу данных. Простейшая структура которая пришла в голову это две таблицы в MySQL. В первой храняться состояния, номер вопроса и идентификатор юзера, а во второй все ответы пользователей, номер вопроса, идентификатор пользователя и ответ на этот вопрос.
Можно обойтись и одной -- проверять сразу во второй базе сколько вопросов прошел пользователь, но при больших данных будут проблемы.
Мы же будем хранить результаты опроса в какой либо базе?
Там же и храните сессии пользователей, логика пррста: Проверяем есть ли пользователь с id vk в нашей базе, если нет - создаем запись, если есть проверяем id вопроса на который должен в текущий момент отвечать пользователь, записываем ответ, задаем следующий вопрос, записываем id нового вопроса пользователю.
Структура простейшая из трех столбцов - id с автоинкриментом, id vk, id вопроса.
При таком походе легко реализовать возможность вернуться к предыдущему вопросу, не потерять данные при подении питона.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.