исследователь
|
||||||
1 | ||||||
Траблы при записи в текстовый файл (append)26.07.2011, 17:50. Показов 4129. Ответов 8
Сделал несложный скриптик.
Собирает нужную мне информацию с веб-страниц, точнее отслеживает ее изменение. Проблема в том что неправильно идет дополнение данных в текстовом файле
а в консоли записывает все сразу при остановке скрипта например из за ошибки или если я нажму Ctrl+C
0
|
26.07.2011, 17:50 | |
Ответы с готовыми решениями:
8
Дозапись в текстовый файл без функции append Что можно сказать о равенстве значений следующих выражений: (append x (append y z) (append (append x y) z) Ругань при записи в текстовый файл Странности при записи в текстовый файл Сохранение формата при записи в текстовый файл |
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
|
27.07.2011, 03:29 | 2 |
Не совсем понятно, чего Вы хотите. Что должно произойти, если возникла ошибка? А если пользователь нажал Ctrl+C? Как работает скрипт, запускается периодически или постоянно висит в памяти?
0
|
исследователь
|
|
27.07.2011, 03:34 [ТС] | 3 |
Что бы не усложнять скрипт передачей параметров (самому себе) организован бесконечный цикл. И этот фрагмент находится внутри этого цикла.
Я тут подумал может надо каждый раз перед началом записи в файл его открывать и после записи закрывать?! Алгоритм такой. 1. Парсятся веб-страницы 2. извлекаются и обрабатываются нужные данные 3. сравниваются с прошлыми такими же данными 4. запись в лог файл об произошедших изменениях 5 переход к пункту 1
0
|
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
|
27.07.2011, 03:45 | 4 |
Что-то подсказывает мне, что Вы просто не видите изменений файла по ходу работы скрипта, так?
В этом случае можно воспользоваться Вашим же предложением, открывать файл перед записью и закрывать после. Все зависит от того, как часто происходит запись. Можно после каждой записи в файл принудительно сбрасывать буфер (у файлового объекта есть метод flush)
1
|
исследователь
|
|||||||||||
27.07.2011, 04:08 [ТС] | 5 | ||||||||||
Но есть другой такой же файл, туда идет запись каждую минуту и все окей, тоже в режиме append
Добавлено через 3 минуты
но вот этот фрагмент работает нормально
Даже если журнальный файл каждый раз открывать-закрывать все равно ничего в него не записывается
0
|
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
||||||
27.07.2011, 04:51 | 6 | |||||
Я несколько сократил Ваш код (по оформлению кода почитайте pep-008)
1
|
исследователь
|
|||||||||||
27.07.2011, 08:12 [ТС] | 7 | ||||||||||
Что не так в этой строке?! Мне не важно сейчас оформление кода, я для себя делаю, лишь бы скрипт только работал. А выражения типа i += 1 я вообще традиционно не приемлю Добавлено через 52 минуты Вот на этой строке
0
|
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
|||||||||||
27.07.2011, 10:14 | 8 | ||||||||||
Скобки лишние , должно быть
можете показать ошибку? У меня все работает
1
|
исследователь
|
||||||
27.07.2011, 11:27 [ТС] | 9 | |||||
После того как я добавил
Но в целом я вернулся к тому варианту который был у меня изначально.
0
|
27.07.2011, 11:27 | |
27.07.2011, 11:27 | |
Помогаю со студенческими работами здесь
9
Определить кодировку при записи в текстовый файл Перевод строк при их записи в текстовый файл Не работает перенос строки при записи в текстовый файл Деление на ноль при записи массива в текстовый файл Указать кодировку при записи событий в текстовый файл Форматирование строк для записи в файл. Функция append() и циклы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |