Формат ввода и информация о поиске / замене пар необходимы для уточнения этого ответа, если он близок к началу, но это будет мой первоначальный удар (при условии некоторой формы регулярности во входных данных, пробел ограничен вмой пример кода ниже).
replacements = {
's1': 'r1',
's2': 'r2'
...
}
with open('input.txt') as fhi, open('output.txt', 'w') as fho:
for line in fhi:
words = line.split(' ')
fho.write(' '.join(map(lambda w: replacements.get(w, w), words))
# Or as a list comprehension from the comments.
fho.write(' '.join([replacements.get(w, w) for w in words]))
Идея в том, что мы будем перемещать данные в выходной файл из входного файла.Для каждого слова каждой строки мы проверяем, есть ли оно в нашем словаре замен.Мы извлекаем новое значение, если оно есть, или возвращаем слово без изменений с помощью метода dict.get(key[, default])
.Это может быть не идеально, не обрабатывать знаки пунктуации, возможно, возникнут проблемы с входным файлом, который не был разбит на строки и т. Д., Но может быть способом начать работу.