|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||||||||||||
Чтение постоянно записываемого файла14.10.2015, 23:06. Показов 4902. Ответов 14
Метки нет (Все метки)
написал некий код, который в случае обнаружения в строке набор символ отправляет запрос. Также помимо чтения лога, код считывает обновления запросом, все в одном цикле.
Вывод получается таким:
И еще вопрос на засыпку, каким образом можно читая файл запоминать место на котором остановился в прошлый раз чтобы потом продолжить?
0
|
||||||||||||||||
| 14.10.2015, 23:06 | |
|
Ответы с готовыми решениями:
14
Изменение записываемого файла Ограничение на размер записываемого файла |
|
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
|
|
| 15.10.2015, 02:50 | |
|
str.split('\n')
0
|
|
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||
| 15.10.2015, 10:17 [ТС] | ||||||
|
тут тогда получается так:
Но можно ли каким либо образом обрабатывать именно буфер на наличие вхождения текста, без дополнительных преобразований?
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 15.10.2015, 11:58 | |
|
а чем вам не нравится работать с листом?
0
|
|
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||
| 15.10.2015, 12:55 [ТС] | ||||||
|
Не то, чтобы не нравится. Просто не могу придумать алгоритм поиска по строке в листе, если по элементу листа просто индексом можно, тот тут не так просто.
Добавлено через 42 минуты Хотя оказалось все проще:
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 15.10.2015, 12:57 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
|
| 15.10.2015, 13:59 [ТС] | |
|
Да но, в случае использования os.read вариант с tell не подходит
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||||||
| 15.10.2015, 13:59 | ||||||
|
а так? (не уверен, что сохранится nonblock, проверьте)
1
|
||||||
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
|
| 15.10.2015, 14:11 [ТС] | |
|
В таком случае позиция будет всегда 0, т.к. Вы читаете сам файл, а позицию смотрите по дескриптору (вроде правильно назвал). Я думаю, что тут можно использовать запоминание последнего буффера, и сравнивать его.
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|||||||||||
| 15.10.2015, 14:14 | |||||||||||
|
я попробовал:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||
| 15.10.2015, 16:52 [ТС] | ||||||
Но мне кажется такой способ не подходит. Сейчас мне надо читать файл, и если в нем нет обновления переходить дальше, поэтому думаю сравнивать по последней строке в уже собранном листе, с первой строкой в полученном листе. Такая идея может сработать? И еще, я задумался о том, что буфер ведь может переполнится или быть просто огромным за долгое время работы, получается его надо как то очищать.
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|||
| 15.10.2015, 17:05 | |||
|
На следующей строке их вообще 6. зачем True - в скобках?
1
|
|||
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||
| 15.10.2015, 17:10 [ТС] | ||||||
|
Кривовато вставил
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||||||
| 15.10.2015, 17:24 | ||||||
|
я недавно тоже кому-то писал кусочек кода, чтобы дочитывать файл по мере его записи
пруфлинк, йа видеооператор! :)
1
|
||||||
|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
|
| 16.10.2015, 12:51 [ТС] | |
|
В моем исполнении, но гифкой :)
Кусочек кода дочитывающего файл верный, редлайны замечательный выход, там можно и строку запоминать, и каких вариантов только не делать. Но не в моем варианте с os.read, пока думаю как сделать правильно.
0
|
|
| 16.10.2015, 12:51 | |
|
Помогаю со студенческими работами здесь
15
меняющиеся название записываемого файла Постоянно прерывается чтение голосом книг Увеличить громкость записываемого звука
Чтение чисел из файла. Чтение после конца потока невозможно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|