使用python从textfile中删除行

cre*_*ivz 19 python

我有这样的textfile.txt:

First Line
Second Line
Third Line
Fourth Line
Fifth Line
Sixth Line
Run Code Online (Sandbox Code Playgroud)

如何删除前三行和最后一行最舒服?谢谢!

Sil*_*ost 35

lines = open('textfile.txt').readlines()
open('newfile.txt', 'w').writelines(lines[3:-1])
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 14

这个不使用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()
Run Code Online (Sandbox Code Playgroud)

由于有一个sed答案,这里是一个awk

$ awk 'NR>=4{if(p)print p;p=$0;}' file
Fourth Line
Fifth Line
Run Code Online (Sandbox Code Playgroud)


YOU*_*YOU 5

data="".join(open("textfile.txt").readlines()[3:-1])
open("newfile.txt","wb").write(data)
Run Code Online (Sandbox Code Playgroud)