|
1 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 24
|
||||||||||||||||
Чтение постоянно записываемого файла14.10.2015, 23:06. Показов 4944. Ответов 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
меняющиеся название записываемого файла Постоянно прерывается чтение голосом книг Увеличить громкость записываемого звука
Чтение чисел из файла. Чтение после конца потока невозможно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью.
Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 23.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|