strfile2 = open("str-fixed.txt", "w")
for line in strlist:
strfile2.write(line+"\n")
strfile2.close()
В обоих случаях str.txt - исходный файл. На выходе будет получен str-fixed.txt, содержащий в себе строки с начала str.txt по заданную нами строку включительно.
И да, подразумевается, что совпадающих строк в исходном файле не будет (если будут - надо было в шапке топика предупреждать заранее).
если нужно напечатать и текущую, то sed '/содержание_строки/{p;q}'
sed -i '/содержание_строки/{p;q}' путь_к_файлу
Мой скрипт правит сам себя, в итоге удаляет все после строки sed -i '/содержание_строки/{p;q}' путь_к_файлу ...
strfile2 = open("str-fixed.txt", "w")
for line in strlist:
strfile2.write(line+"\n")
strfile2.close()
Перемудрил:)
text
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
STRING = 'Test\n'
f = open('file.txt', 'r')
lines = f.readlines()
if STRING in lines:
lines = lines[:lines.index(STRING)]
f = open('file.txt', 'w')
f.writelines(lines)
f.close()
Мне по статусу положено, я - быдлокодер :D
разница между нашими вариантами в том, что у тебя откуда прочитало - туда и записало, есть проверка на наличие строки в файле и операция по определению номера элемента, удалению лишнего в одну строку уложена?
(я еще только учусь, по этому и уточняю что к чему, чтобы потом ничего не напутать)
"-=Serj=-" написал:
lines = lines[:lines.index(STRING)]
при таком раскладе саму то строку заданную в обновленный файл же не включит. надо index + 1 делать, чтобы удаляло со следующей строки после заданной. или я что-то путаю?
при таком раскладе саму то строку заданную в обновленный файл же не включит. надо index + 1 делать, чтобы удаляло со следующей строки после заданной. или я что-то путаю?