Задать вопрос
@teodoros

Каким образом выполнить множественную замену строк в файле?

Здравствуйте. Подскажите, как можно сократить этот код?
Т.е. сократить кол-во replace.
def editapache(self,oldmail,mail,name,oldname,charset,oldcharset,vhid):
      with open(filename,'r+') as config:
        config.replace(oldcharset,charset)
        config.replace(oldname,name)
        config.replace(oldmail,mail)
    config.write(config)
  • Вопрос задан
  • 279 просмотров
Подписаться 1 Оценить 8 комментариев
Ответ пользователя Alexej Simakov К ответам на вопрос (3)
lxsmkv
@lxsmkv
Test automation engineer
нашел тут на просторах интернета такое решение:
config = "1 2 3 4 5 6"
substitutions = {"2":"7", "3":"6"}
def replace_all(text, dic):
    for i, j in dic.iteritems():
        text = text.replace(i, j)
    return text

print replace_all(config, substitutions)

вернет
1 7 6 4 5 6
Ответ написан
Комментировать