Здравствуйте!
Я не программист, но возникла необходимость решить определённую задачу, прошу помочь…
Суть задачи - нужно в файле заменить определённое сочетание символов другим сочетанием.
Задачу я вообще то решил, но не совсем так, как хотелось бы:
import os
if os.access(“./Zamena-test.rtf”, os.F_OK):
print “файл найден”
else:
print “файл не найден”
import string
f_old = open(“./Zamena-rtf.txt”, “rt”)
f_new = open(“./Zamena-rtf-n.txt”, “wt”)
for l in fd.readlines():
a = string.find(l, “\\'db\\'db\\'db\\'db”)
if a > -1:
b = string.replace (l, “\\'db\\'db\\'db\\'db”, “\\'af\\'af”)
f_new.write(b)
else:
f_new.write(l)
f_old.close()
f_new.close()
os.rename(“./Zamena-rtf-n.txt”, “./Zamena-rtf.txt”)
То есть в процессе обработки создаётся новый файл, уже содержащий желаемые замены, затем исходный файл заменяется новым.
Теперь собственно вопрос:
Можно ли, и как сделать так, чтобы при обнаружении искомой комбинации в строке исходного файла, эту изменённую строку записывать прямо в исходный файл, не перезаписывая при этом строк исходного файла, не содержащих комбинацию, которую нужно изменить?
Спасибо!
Юрий.