Как заменить все вхождения строки в файле, кроме первого вхождения, используя Python?
Вот содержание моего файла
batch_rollback.txt
------------------------------
pyt_batch_id :- pyt_batch_id
Здесь мультилинии из
предложения SQL
основной pyt_batch_id
задача
заменить pyt_batch_id
из его второго
возникновение pyt_batch_id
-----------------------------------------
Я хочу заменить все вхождения pyt_batch_id любым числом, но не первым вхождением.
Я попробовал нижеприведенный метод, и он работает так, как ожидалось, но я не думаю, что это лучший подход.
выход :-
pyt_batch_id :- 123456
Здесь мультилинии из
предложения SQL
главный 123456
задача
заменить 123456
из его второго
123456 происшествие
Не мог бы кто-нибудь предложить другие альтернативные методы?
Что я уже пробовал:
s = open("BATCH_ROLLBACK.txt").read() s = s.replace('pyt_batch_id', '123456') f = open("BATCH_ROLLBACK.txt", 'w') f.write(s) f.close() f2 = open('BATCH_ROLLBACK.txt', 'r') contents = f2.read().replace('123456', 'pyt_batch_id',1) f2.close() f2 = open('BATCH_ROLLBACK.txt', 'w') f2.write(contents) f2.close()