Форум сайта python.su
0
Здравствуйте, только-только начал изучать сие прекрасный ЯП. Как будет выглядеть код чтения и изменения текстового файла? (чтение уже получилось, а вот функцию редактирования я так и не нашел).
Офлайн
221
SyGaK
вы начали изучать ЯП посредством участников форума? не дождетесь - вперед читать книжки.
Да и вообще - зачем спрашивать такие примитивные вопросы если на них поисковики отвечают за минуту?
Офлайн
0
JOHN_16Я думал, что в теме “Python для новичков” можно задавать вопросы.
SyGaKвы начали изучать ЯП посредством участников форума? не дождетесь - вперед читать книжки.Да и вообще - зачем спрашивать такие примитивные вопросы если на них поисковики отвечают за минуту?
Офлайн
221
можно, но всему есть разумная грань - тут просто все предвидят от вас еще 50+ новых примитивных вопросов, которые решаются самостоятельно при помощи гугла и книг. Здесь помогают, а не учат основам азов.
Возьмите хотя бы книжку Чаплыгина, потратьте 1 день и многие вопросы сами отпадут. Книгу Лутца даже не советую, судя по всему уже от одного ее объема откажитесь от этой идеи.
Не суди меня меня строго, я делаю для вас же лучше.
Офлайн
253
SyGaKМожно задавать вопросы.
можно задавать вопросы.
SyGaKА что она должна делать эта функция редактирования? Если вы хотите заменить одно слово на другое или добавлять текст в середину файла то вынужден вас огорчить. Такие сущности операционной системы как файлы не позволяют выполнить эти действия эффективно. Они эффективно дописываются с конца, можно намазать в любое место файла свои данные (при этом размер файла не изменится). Вставки и замены можно программно имитировать, но работать они будут очень медленно. Поэтому текстовые редакторы загружают более или менее значительную часть файла в оперативную память и уж там его “редактируют”. После завершения всех операций происходит переписывание всего файла на диске. Если данных много и они в память не лезут, то используют базы данных sqlite3, zodb… у них внутри спрятана достаточно сложная логика чтения и записи данных в файлы, так что кажется что эффективно записываются данные в середину файла.
а вот функцию редактирования
Офлайн
0
Если нужно изменить какие-то слова в тексте, или что-то найти можно воспользоваться методами строк или модулем re(регулярные выражения), например:
import re txt=open(file,encoding="utf8").read() txt=re.sub("хорошо","плохо",text) #заменит хорошо на плохо во всем тексте
Отредактировано Ookami (Окт. 20, 2013 15:28:05)
Офлайн