使用python,如何从第七行开始读取文件?

Mer*_*lin 14 python file-io

我有一个文本文件结构:

date
downland

user 

date data1 date2
201102 foo bar 200 50
201101 foo bar 300 35
Run Code Online (Sandbox Code Playgroud)

因此不需要前六行文件.文件名:dnw.txt

f = open('dwn.txt', 'rb')
Run Code Online (Sandbox Code Playgroud)

如何从第7行开始将此文件"拆分"为EOF?

Joh*_*hin 29

with open('dwn.txt') as f:
    for i in xrange(6):
        f.next()
    for line in f:
        process(line)
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于`Python 3.x`.得到了'AttributeError:'_ io.TextIOWrapper'对象没有属性'next' (5认同)
  • 这两个(迄今为止)匿名下来的人有没有机会分享他们的智慧? (2认同)
  • 老实说,这是最惯用的解决方案,代码直接告诉你它的作用. (2认同)
  • @ user428862:`process(line)`是伪代码,用于"在这里插入你自己的代码,用`line`做你想做的事".什么样的代码是"你的"代码? (2认同)

Jos*_*Lee 9

Itertools回答!

from itertools import islice

with open('foo') as f:
    for line in islice(f, 6, None):
        print line
Run Code Online (Sandbox Code Playgroud)

  • 这把大锤怎么了?它需要一行设置。 (3认同)

Kit*_*der 6

蟒蛇3:

with open("file.txt","r") as f:
    for i in range(6):
        f.readline()
    for line in f:
        # process lines 7-end
Run Code Online (Sandbox Code Playgroud)


sys*_*out 5

with open('test.txt', 'r') as fo:
   for i in xrange(6):
       fo.next()
   for line in fo:
       print "%s" % line.strip()
Run Code Online (Sandbox Code Playgroud)