Строка записывается 10 раз вместо одного
with open('/etc/hosts') as f:
lines = f.readlines()
str = 'Строчка'
pattern = re.compile(re.escape(str))
with open('/etc/hosts', 'r+') as f:
for line in lines:
result = pattern.search(line)
if result is None:
f.seek(0, 2)
f.write("This is my first line\n")
Вместо того чтобы в конце файла записать одну строку, скрипт записывает её 10 раз.