Решение этой проблемы только с одним открытым:
f = open("target.txt","r+")
d = f.readlines()
f.seek(0)
for i in d:
if i != "line you want to remove...":
f.write(i)
f.truncate()
f.close()
Это решение открывает файл в режиме r / w («r +») и использует поиск для сброса f-указателя, тогда truncate, чтобы удалить все после последней записи.