如何使python忽略文本文件的前几行

时间:2014-03-14 23:34:58

标签: python text

我想知道是否有可能让python忽略我的文本文件的前4行。就像我有一个看起来像这样的文本文件:

aaa
aaa
aaa
aaa
123412
1232134

我可以这样做,以便python从数字开始工作吗?

4 个答案:

答案 0 :(得分:3)

使用next和循环:

with open("/path/to/myfile.txt") as myfile:
    for _ in range(4):  # Use xrange here if you are on Python 2.x
        next(myfile)
    for line in myfile:
        print(line)  # Just to demonstrate

因为file objects是Python中的迭代器,所以每次执行next(myfile)时都会跳过一行。

答案 1 :(得分:0)

这应该可以解决问题

f = open('file.txt')
for index,line in enumerate(f):
    if index>3:
      print(line)

答案 2 :(得分:0)

假设您知道要丢弃的行数,可以使用以下方法:

    for i, line in enumerate(open('myfile')):
        if i < number_of_lines_to_discard:
            continue
        # do your stuff here

或者如果您只想忽略非数字行:

    for line in open('myfile'):
        if not re.match('^[0-9]+$\n', line):
             continue
        # do your stuff here

答案 3 :(得分:0)

更强大的解决方案,而不是依赖于确切的行数:

with open(filename) as f:
    for line in f:
        try:
            line = int(line)
        except ValueError:
            continue
        # process line