读取文件的时候跳过前面的一部分指定内容

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='')
posted @ 2019-04-12 22:55  公众号python学习开发  阅读(714)  评论(0编辑  收藏  举报