Вы можете использовать функции регулярных выражений из модуля re .Например, как это:
import re
pattern = re.compile(r"^Name=(.*)$", flags=re.MULTILINE)
re.sub(pattern, "Name=%s" % replace_name, s)
(Опция re.MULTILINE
позволяет ^
и $
соответствовать началу и концу строки соответственно, в дополнение к началу и концу строкистрока.)
Отредактировано, чтобы добавить: Основываясь на ваших комментариях к Ответ Эмиля , похоже, вы манипулируете Desktop Entry файлами,Их синтаксис, по-видимому, очень близок к синтаксису, используемому модулем ConfigParser (возможно, есть некоторые различия в чувствительности к регистру имен разделов и ожидании того, что комментарии должны быть сохранены в течение цикла разбора / сериализации).1020 *
Пример:
import ConfigParser
parser = ConfigParser.RawConfigParser()
parser.optionxform = str # make option names case sensitive
parser.read("/etc/skel/examples.desktop")
parser.set("Desktop Entry", "Name", replace_name)
parser.write(open("modified.desktop", "w"))