0

假设我只想读取文件中的第一行并对其执行某些操作。我选择说:

stuff = open('some_file.txt','rb')

for row in stuff:
    # do something to first line
    break
for row in stuff:
    # do something to all other lines

这就像我正在读取文件对象而不是内存中的东西一样单独工作。

有反对这样做的理由吗?

4

3 回答 3

4

next()您可以使用函数获取第一行:

firstline = next(stuff, '')  # default value '' if the file is empty

for row in stuff:
    # rest of the file

这适用于任何可迭代的。如果你有一个行列表,你可以这样做lines[0],或者先调用iter()列表。

于 2013-03-15T22:33:18.963 回答
0

fileinput是一个很棒的模块。

for line in fileinput.input(['some_file.txt']):
  if not fileinput.isfirstline():
    data = proces_line(line);
    output(data)
于 2013-03-15T22:37:27.257 回答
0

您可以使用readline()方法:

stuff = open('some_file.txt','rb')

first = stuff.readline()

for row in stuff:
    # do something to all other lines
于 2013-03-15T22:49:44.417 回答