有时在浏览一个文件时需要跳过某些特定内容,比如跳过注释部分,那要怎么实现呢
有test.txt文件:
前面三行是注释,后面非注释,现在想跳过前面的注释部分,当然我们可以用常规方法,每一行判断是不是以#开关,
这里介绍的dropwhile方法会丢弃一些指定的不需要的项,并返回其他的项,直到可迭代对象的尾部
#!/usr/bin/env python #coding:utf-8 #@Author:Andy #Date: 2017/6/17 from itertools import dropwhile with open('test.txt') as f: for line in dropwhile(lambda line: line.startswith('#'), f): print(line)
输出:
Not comment Not comment
但是,如果仅仅是这样的效果,那只需要常规方法即可,根本没有引入这个模块的必要,那么 ,我修改这个文件内容,为下面这样,再看效果:
运行结果是这样的:
很显然,dropwhile仅仅将可替代对象的前面的特定行过滤掉了,面后面的则没有处理,这是常规方法所做不到的。