Форум сайта python.su
Приветствую.
Прошу показать инструмент работы с строками в питон , который может найти и заменить строку по шаблону , не учитывая полного содержимого в строке.
Нужно в файле заменить одну строку другой строкой.
Поиск заменяемой строки нужно производить используя шаблон, по той причине что заменяемая строка имеет постоянно изменяющиеся значения.
Отредактировано VIRTOK (Янв. 12, 2021 22:32:35)
Офлайн
Приведи пример замены.
Офлайн
VIRTOKну так re ?
Поиск заменяемой строки нужно производить используя шаблон, по той причине что заменяемая строка имеет постоянно изменяющиеся значения.
[code python][/code]
Офлайн
Прошу помочь и привести пример шаблона с помощью которого заменить строку.
Есть файл с SQL скриптом.
... INSERT INTO Product_D VALUES ('B', 1158, DEFAULT); COMMIT;
INSERT INTO Product_D VALUES ('B', 1158, DEFAULT); COMMIT;
INSERT INTO тут могут быть разные значения ;
Офлайн
VIRTOKНапиши, какие строки были до замены и какие стали строки после замены.
Прошу помочь и привести пример шаблона с помощью которого заменить строку.
VIRTOKЗаменить на что?
В конце файла есть 2 строчки которые нужно заменить
Офлайн
py.user.next- Фу! Ржевский, вы вообще носки меняете?
Заменить на что?
Офлайн
VIRTOKтогда вам не нужно re достаточно метода строки startwith.
Проблема в том что в середине строки
INSERT INTO тут могут быть разные значения ;
in_data =['Это непонятная дичь', 'INSERT INTO тут могут быть разные значения ;', 'COMMIT;'] find_prefix = 'INSERT INTO' replace_srt = 'тут может быть все что угодно;' for string in in_data: if string.startswith(find_prefix): out_string = '{} {}'.format(find_prefix, replace_srt) else: out_string = string print (out_string) >>> Это непонятная дичь INSERT INTO тут может быть все что угодно; COMMIT; >>>
[code python][/code]
Офлайн
PEHDOMОн там пишет
тогда вам не нужно re достаточно метода строки startwith.
VIRTOKТо есть эти строки ещё должны в конце файла стоять. А если они в середине стоят, то не надо заменять.
В конце файла есть 2 строчки которые нужно заменить
Офлайн
py.user.next это проф.деформация , ты забываешь что имеешь дело не с “программистом” а с “пользователем” который не умеет свои мысли структурировать и выражать четко и однозначно. Я подозреваю что “В конце файла есть 2 строчки которые нужно заменить” означает не то что такие же строки есть и в середине, а то что они есть только в конце. Но я, конечно, могу и ошибаться.
[code python][/code]
Отредактировано PEHDOM (Янв. 15, 2021 13:46:19)
Офлайн
PEHDOMНе, ты ему напишешь такую программу, а он придёт потом и скажет “у меня там в середине строчки, они тоже заменяются теперь, а мне нужно, чтобы только в конце”. Так ты ему будешь писать вторую программу.
Я подозреваю что “В конце файла есть 2 строчки которые нужно заменить” означает не то что такие же строки есть и в середине, а то что они есть только в конце. Но я, конечно, могу и ошибаться.
PEHDOMЭто опыт. Точно так же я у него спрашиваю “на что заменить?” не просто так. Потому что дальше он скажет “а мне надо не просто заменить, оказывается, я теперь понял, пришло типа прозрение, а мне ещё кусочки оттуда выдирать надо”. Чтобы 100500 программ ему не писать, из которых ему нужна только 100501-ая, я сначала у него всё выясняю.
это проф.деформация
Офлайн