假设我只想读取文件中的第一行并对其执行某些操作。我选择说:
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
这就像我正在读取文件对象而不是内存中的东西一样单独工作。
有反对这样做的理由吗?
next()
您可以使用函数获取第一行:
firstline = next(stuff, '') # default value '' if the file is empty
for row in stuff:
# rest of the file
这适用于任何可迭代的。如果你有一个行列表,你可以这样做lines[0]
,或者先调用iter()
列表。
fileinput是一个很棒的模块。
for line in fileinput.input(['some_file.txt']):
if not fileinput.isfirstline():
data = proces_line(line);
output(data)
您可以使用readline()
方法:
stuff = open('some_file.txt','rb')
first = stuff.readline()
for row in stuff:
# do something to all other lines