
20.08.2009, 09:11
|
|
Постоянный
Регистрация: 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..
|
|
|