Найти - Пользователи
Полная версия: Чтение и изменение текстового файла
Начало » Python для новичков » Чтение и изменение текстового файла
1
SyGaK
Здравствуйте, только-только начал изучать сие прекрасный ЯП. Как будет выглядеть код чтения и изменения текстового файла? (чтение уже получилось, а вот функцию редактирования я так и не нашел).
JOHN_16
SyGaK
вы начали изучать ЯП посредством участников форума? не дождетесь - вперед читать книжки.
Да и вообще - зачем спрашивать такие примитивные вопросы если на них поисковики отвечают за минуту?
SyGaK
JOHN_16
SyGaKвы начали изучать ЯП посредством участников форума? не дождетесь - вперед читать книжки.Да и вообще - зачем спрашивать такие примитивные вопросы если на них поисковики отвечают за минуту?
Я думал, что в теме “Python для новичков” можно задавать вопросы.
JOHN_16
можно, но всему есть разумная грань - тут просто все предвидят от вас еще 50+ новых примитивных вопросов, которые решаются самостоятельно при помощи гугла и книг. Здесь помогают, а не учат основам азов.
Возьмите хотя бы книжку Чаплыгина, потратьте 1 день и многие вопросы сами отпадут. Книгу Лутца даже не советую, судя по всему уже от одного ее объема откажитесь от этой идеи.
Не суди меня меня строго, я делаю для вас же лучше.
doza_and
SyGaK
можно задавать вопросы.
Можно задавать вопросы.
SyGaK
а вот функцию редактирования
А что она должна делать эта функция редактирования? Если вы хотите заменить одно слово на другое или добавлять текст в середину файла то вынужден вас огорчить. Такие сущности операционной системы как файлы не позволяют выполнить эти действия эффективно. Они эффективно дописываются с конца, можно намазать в любое место файла свои данные (при этом размер файла не изменится). Вставки и замены можно программно имитировать, но работать они будут очень медленно. Поэтому текстовые редакторы загружают более или менее значительную часть файла в оперативную память и уж там его “редактируют”. После завершения всех операций происходит переписывание всего файла на диске. Если данных много и они в память не лезут, то используют базы данных sqlite3, zodb… у них внутри спрятана достаточно сложная логика чтения и записи данных в файлы, так что кажется что эффективно записываются данные в середину файла.

Ookami
Если нужно изменить какие-то слова в тексте, или что-то найти можно воспользоваться методами строк или модулем re(регулярные выражения), например:

import re
txt=open(file,encoding="utf8").read()
txt=re.sub("хорошо","плохо",text) #заменит хорошо на плохо во всем тексте

на второй позиции заместо слова плохо можно использовать функцию,
у Саммерфилда на эту тему хорошо расписано.
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