Короче больше Питонический способ с использованием регулярного выражения:
with open(self.__dataFile,"r") as myfile1, open(self.__dataFile, "w") as myfile2:
for line in myfile1:
myfile2.write(re.sub(f'^N(|{lookfor}|\d+)', 'Y\\1', line))
Как обсуждалось в комментариях и других ответах, line
- это просто локальная переменная, область действия которой является локальной и неизменить оригинал data
.
Обратите внимание, пожалуйста, не забудьте импортировать re
.