8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

如何检查列表中的值是否存在文件每行中?

来源:本站原创 浏览:90次 时间:2022-09-01

如果我们要打印包含某关键字的行,在shell下我们经常用的是grep,如果要过滤的字段较多,就会换成egrep,后面跟分字符来分割每个关键字,基本是这样的:

egrep "a|b|c" infile.txt

这样就能查到某文件那些行包含这个关键字,这么常用的功能我们用python怎么实现呢?总不能每次都用在脚本中调用系统命令吧?莫着急,我们今天就来看看如何用python来实现一个简单的egrep的功能,我们先看判断用户输入的值是否存在文件的每行中,存在就打印,基本代码如下:


with open('infile.txt', 'r') as fi:

    for line in fi:

        if 'a' in line or 'b' in line or 'c' in line or 'd' in line:

           print line.strip()

就这么几行就搞定,再往下我们就学习一个更简单地方法,我们把用户的输入放入一个列表中,然后看看如何判断是否存在于文件每行中,代码如下:


find_str = ['a', 'b', 'c', 'd']

with open('infile.txt', 'r') as fi:

    for line in fi:

        if any(s in line for s in find_str):

           print line.strip()

这里我将用户输入直接放入了列表中,关于解释器如何语法分析将用户输入生成一个列表本篇就不多说了,重要的学习思路和方法,后续方便运用,这段代码我们用到了any这个函数,这个函数跟上面的判断是一样的,只要有一个关键字存在,这行就会被打印出来,简单吧?


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net