使用python从文本文件中删除行

时间:2010-01-14 13:04:03

标签: python

我有一个像这样的textfile.txt:

First Line
Second Line
Third Line
Fourth Line
Fifth Line
Sixth Line

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

5 个答案:

答案 0 :(得分:35)

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

答案 1 :(得分: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()

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

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

答案 2 :(得分:4)

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

答案 3 :(得分:1)

f = open('file1.txt').readlines()

open('file1.txt', 'w').writelines(lines[4:])

此代码段将从名称中删除前四行" file1.txt"

答案 4 :(得分:-3)

没有Python解决方案,但由于您的问题是经典的,我向您展示了一个sed解决方案。

$ sed -n -e "4,5p" textfile.txt

当然,地址4,5仅适用于您的输入和所需输出:)