Я работаю над сценарием python, где в настоящее время, если определенный текстовый файл содержит определенные фразы, соответствующие списку, он удалит их из файла.
Соответствующие фрагменты кода списка выглядят следующим образом :
replacements = {'pc-123456 alert good-name-here':'',
'pc-123456 alert remove-name-here':'',
}
Где первая половина в {- это прямой текст из файла оповещения, а: '' - это очистка текста из файла, если он совпадает. В настоящее время это работает.
Мне нужно добавить следующее в список замен в моем скрипте, где:
replacements = {'12-Dec-19 00:00 pc-123456 alert good-name-here':'',
'12-Dec-19 00:01 pc-123456 alert remove-name-here':'',
'12-Dec-19 00:01 pc-234567 alert remove-name-here':'',
}
Но я хочу удалить любую деталь, которая определена как 'remove- name-here '(включая дату / время, имя устройства и т. д. c)., даже если оповещение будет появляться на более чем 2 устройствах (например, p c -123456, p c -2345678, p c -356435, p c -4563255) et c.
Какой самый простой способ удалить всю текстовую строку, если сценарий получает другое имя устройства для того же имени оповещения, и удалить метку времени (которая в настоящее время не определена в списке замен)?
Остальная часть кода выглядит следующим образом:
lines = []
with open('path/to/file.txt') as infile:
for line in infile:
for src, target in replacements.items():
line = line.replace(src, target)
lines.append(line)
with open('path/to/same/file.txt', 'w') as outfile:
for line in lines:
outfile.write(line)
Спасибо.