from itertools import dropwhile
"""
读取一个文件但是前几行是#开头的,这里使用dropwhile可以调过前面的部分。
dropwhile,第一个参数一个函数,第二个参数是可迭代对象。
"""
with open('/etc/passwd') as f:
for line in dropwhile(lambda line: line.startswith('#'), f):
print(line, end='')
如果使用下面的方式就会导致,后面凡是含有#开头的文件就跳过,两者实现的目的不同
with open('/etc/passwd') as f:
lines = (line for line in f if not line.startswith('#'))
for line in lines:
print(line, end='')