Вы не можете записать файл, в котором вы сейчас читаете. Кроме того, вы удаляете вещи через file.splitlines()
из каждой строки - таким образом вы удалите все \r\n
- не только те, что в пустых строках,Сохраните содержимое под новым именем и затем удалите / переименуйте файл:
Создайте демонстрационный файл:
with open ("t.txt","w") as f:
f.write("""
asdfb
adsfoine
""")
Загрузите / создайте из него новый файл:
with open("t.txt", 'r') as r, open("q.txt","w") as w:
for l in r:
if l.strip(): # only write line if when stripped it is not empty
w.write(l)
with open ("q.txt","r") as f:
print(f.read())
Вывод:
asdfb
adsfoine
(Вам нужно strip()
строк, чтобы увидеть, содержат ли они пробелы и перевод строки.)
Для переименования / удаления см. Fe Как переименовать файл с помощью Python и Удалить файл или папку
import os
os.remove("t.txt") # remove original
os.rename("q.txt","t.txt") # rename cleaned one