Форум сайта python.su
Забыл в тот раз добавить разделение на строки ещё (поправил там). Ведь мы не можем обрабатывать строки, не отыскав их сначала.
А ещё бывает MemoryError, когда хочешь большой файл загрузить в список.
AlenЧего? n^2 - это если ты прочитал строки, а потом на основе каждой строки стал что-то делать с каждой строкой.
И в O(n^2) / O(n) в случае если со строками производятся операции.
Отредактировано py.user.next (Сен. 25, 2014 00:31:25)
Офлайн
py.user.next
Чего? n^2 - это если ты прочитал строки, а потом на основе каждой строки стал что-то делать с каждой строкой.
Офлайн
py.user.next
Если же ты сначала прочитал строки, а потом стал с ними что-то делать - это n + n = 2n.
Офлайн
AlenТак там нет квадрата.
Я так и написал.
>>> for i in range(5): ... for j in range(5): ... print(i, j) ... 0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 2 0 2 1 2 2 2 3 2 4 3 0 3 1 3 2 3 3 3 4 4 0 4 1 4 2 4 3 4 4 >>>
>>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>>
Alen
Ну а прочитал ты их в ту же память.
Отредактировано py.user.next (Сен. 25, 2014 07:58:10)
Офлайн
alexsis
Открываете новый файл и в него записываете командой write.
Отредактировано russian_bear (Сен. 27, 2014 19:57:52)
Офлайн
russian_bear
Как я понял из кода тебе нужно вложить всё что взял в bigfile.txt обработал и потом всё это закинул в out_file.txt
Тут есть 2 способа
1) создать цикл который построчно будет записывать в фаил
2) использовать readlines
Офлайн
russian_bearрекомендую посмотреть https://docs.python.org/3/library/linecache.html
А как обратиться допустим к 5 строке и заменить ее на “бла-бла-бла” ?
Офлайн
doza_and
Да это тоже хорошее решение, можно использовать если питон не ниже 2.5 версии.
Офлайн