Ответ 1
lines = open('textfile.txt').readlines()
open('newfile.txt', 'w').writelines(lines[3:-1])
У меня есть textfile.txt вот так:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
Sixth Line
Как я могу удалить первые три строки, а последняя строка наиболее удобна? Спасибо!
lines = open('textfile.txt').readlines()
open('newfile.txt', 'w').writelines(lines[3:-1])
Этот режим не использует readlines(), поэтому он идеально подходит для файлов большего размера.
numline=3 #3 lines to skip
p=""
o=open("output.txt","a")
f=open("file")
for i in range(numline):
f.next()
for line in f:
if p:
o.write(p)
p=line
f.close()
o.close()
Поскольку есть ответ sed, здесь awk one
$ awk 'NR>=4{if(p)print p;p=$0;}' file
Fourth Line
Fifth Line
data="".join(open("textfile.txt").readlines()[3:-1])
open("newfile.txt","wb").write(data)
f = open('file1.txt').readlines()
open('file1.txt', 'w').writelines(lines[4:])
Этот фрагмент кода удалит первые четыре строки из имени fie "file1.txt"
Нет решения Python, но поскольку ваша проблема является классикой, я представляю вам решение sed.
$ sed -n -e "4,5p" textfile.txt
Конечно, адрес 4,5
работает только для вашего ввода и требуемого вывода:)