Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2016 05:40:03

dshubenok
Зарегистрирован: 2014-12-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Как удалить строку в цикле.

Здравствуйте! Возник такой вопрос.

with open(file1) as f1, open(file2) as f2:
    text1 = f1.readlines()
    text2 = f2.readlines() #читаем два файла построчно
    for line1, line2 in zip(text1, text2):
        str1 = line1.split()
        str2 = line2.split() 
        if str1[0] != str2[0]:
            break
Скрипт сравнивает построчно первый элемент двух файлов, вида:
Гасите гасить V
сигареты сигарета S
Помните помнить V
о о PR
пожаре пожар S
в в PR
Чикаго Чикаго S

Что нужно добавить перед break, чтобы он удалял строку в случае несоблюдения str1 != str2 ?

Офлайн

#2 Апрель 17, 2016 07:27:38

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как удалить строку в цикле.

dshubenok
он удалял строку
Откуда удалял? Все строки и так из памяти удаляются. Если вы про файл, то из него строки не выкинешь. Смотрите или в сторону СУБД или пишите результат в другой файл.



Офлайн

#3 Апрель 17, 2016 07:35:45

dshubenok
Зарегистрирован: 2014-12-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Как удалить строку в цикле.

doza_and
Смотрите или в сторону СУБД или пишите результат в другой файл.

Не понял, как тут применить СУБД.
А если писать в другой файл, то нужно дописать строку f.write() и поместить в аргумент цикл, который будет записывать построчно результат, если строки совпадают?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version