Найти - Пользователи
Полная версия: Вставка строки в текстовый файл
Начало » Центр помощи » Вставка строки в текстовый файл
1 2 3
Rodegast
> Проблема в том, что я не могу как в С++ построчно считывать файл и следовательно не могу вставить в нужное место строку.

Дык. Я не понял почему вы не можете построчно читать файл?
doza_and
Rodegast
я не могу как в С++ построчно считывать файл
for i in open("a.lst","r").readlines():
print i
Rodegast
Ну я о том же. С построчным чтением файла нет никаких проблем. Причём большие файлы можно читать через readline(), а маленькие через readlines(). В последнем случае вставка строки в произвольное место становится ну очень простой задачей.
py.user.next
>>> with open("/etc/passwd", "r") as f:
... for i in (1, 2):
... print i, next(f).rstrip('\n')
...
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
>>>
doza_and
for i in open("a.lst","r").readlines():
print i
файл остался открытым
kublo
py.user.next
файл остался открытым
А разве его не закроет сборщик мусора после того как создастся список ?
Андрей Светлов
А на каком основании закрывать именно после создания списка?
Кстати, в 3.2 незакрытый файл — это ResourceWarning
sys_dev
>>Кстати, в 3.2 незакрытый файл — это ResourceWarning
Thank you!!!
FroL
Я сделал вот как: я открываю свой файл и создаю новый. Читаю строку и сразу же записываю в буферный файл. Когда я нахожу нужную строку я записываю новую строку, а потом до записываю файл. Потом удаляю исходный файл, а буферный файл переименовываю :)
Carzil
Rodegast
Ну я о том же. С построчным чтением файла нет никаких проблем. Причём большие файлы можно читать через readline(), а маленькие через readlines(). В последнем случае вставка строки в произвольное место становится ну очень простой задачей.
Вообще, open возвращает итерабельный объект:
for i in open("hello.txt"):
...
py.user.next
Carzil
Вообще, open возвращает итерабельный объект:
for i in open("hello.txt"):
нужно закрыть файл потом
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB