Показать сообщение отдельно

  #7  
Старый 20.08.2009, 09:11
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от InFlame  
Есть следующий код, скрипт должен удалить найденную строку:
Код:
for line in open("file.txt","r").readlines():
  if line == "some string":
    # тут надо удалить строку, как это проще всего сделать?
cr0w прав, так будет проще, а с твоим подходом, то это будет еще и производительнее.
Код:
#!usr/bin/env python
#-*-encoding:utf8-*-
stroka = "Проверочное значение"
with open("file.txt") as inpt:
    with open("out.txt","w") as out:#Тут аккуратнее, файл будет перезаписываться каждый раз, если сделать open("out.txt", "a") то будет дозапись в конец файла
        for line in inpt:
            line = line.replace("\r", "").replace("\n", "")# Очистка от символов конца строки (по желанию)
            if line == stroka:
                pass
            else:
                out.write(line+"\n")#Пишем в файл строку с символом конца строки чтоб писалось нормально, а не в одну строчку
P.S>Код должен быть кросспитонен () -т.е работать и под 3.1 и под 2.6, может вообще не работать так как не проверял ибо лень ), под 2.6
Код:
line = line.replace("\r", "").replace("\n", "")
Можно заменить на
Код:
line = line.translate(None, "\r\n")

Последний раз редактировалось login999; 20.08.2009 в 09:14..
 
Ответить с цитированием