Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2010 18:43:47

trifolog
От:
Зарегистрирован: 2010-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

доброго времени суток!
в общем проблема следующая. имеем текстовый файл index.txt
хочу в этом файле заменить слова. делаю это следующим образом:

import os
file=("index.txt", "r+") # Открываем файл для чтения и записи
data=file.read() # читаем файл
data=data.replace("varta","Varta!") # меняем слово varta на Varta!
file.write(data)
file.close()
Замена происходит, но… В конец файла перезаписывается все измененное содержимое файла, а в начале файла изменения не происходят.
Где что подправить, чтобы содержимое файла не дублировалось?



Отредактировано (Сен. 27, 2010 19:02:07)

Офлайн

#2 Сен. 27, 2010 19:26:32

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

сохраняйте в другой файл, или в заново открывайте этот же с параметром “w”



Офлайн

#3 Сен. 27, 2010 19:37:51

trifolog
От:
Зарегистрирован: 2010-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

Спасибо! Даже не подумал об этом ((
Вот что получилось:

import os
file=open("index.txt","r") # открываем файл для чтения
data=file.read() # читаем его
data=data.replace("varta","Varta!") # меняем varta на Varta!
file.close() # закрываем файл
file=open("index.txt","w") # открываем файл для записи
file.write(data) # записываем в файл измененные данные
file.close() # закрываем файл
exit()



Отредактировано (Сен. 27, 2010 19:40:07)

Офлайн

#4 Сен. 28, 2010 12:28:23

xyxel
От:
Зарегистрирован: 2010-04-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

еще можно воспользоваться seek()



Офлайн

#5 Сен. 28, 2010 14:20:42

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

with open("index.txt","r+") as file:
data = file.read()
file.seek(0)
file.write( data.replace("varta","Varta!") )
file.truncate() # необходимо, если файл стал короче



Отредактировано (Сен. 28, 2010 14:23:25)

Офлайн

#6 Сен. 30, 2010 23:51:06

trifolog
От:
Зарегистрирован: 2010-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

дублирование содержимого файла при замене слов

пасиб!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version