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