Если у меня есть содержимое файла, как это:Python: Заменить строку как переменную в файле
old_string
-old_string
Я только хочу, чтобы изменить «old_string» быть «+ new_string», так что результат выглядит
+new_string
-old_string
мой код дает этот результат:
+new_string
-+new_string
Это мой код:
with open(filename) as f:
s = f.read()
if old_string not in s:
return False
with open(filename, 'w') as f:
s = s.replace(old_string, new_string)
f.write(s)
return True
я Пробовал регулярное выражение, но это не будет работать, так как я прохожу регулярное выражение в качестве переменных, это то, что я сделал до сих пор:
with open (filename, 'r') as f:
content = f.read()
content_new = re.sub('(\%old_string)', r'\new_string'%(old_string,new_string), content, flags = re.M)
Возможно, вы можете написать собственную реализацию замены, которая проверяет, является ли предыдущий символ символом «-». –
@Adam - Очень понравилось бы, если бы вы отметили ответ, который помог вам решить вашу проблему как правильный ответ :-) – kkaosninja