Python读取文件中内容利用正则获取想要的关键信息
laoyan 2018-01-10 18:45:53
分 享

背景简介


本篇文章主要讲解python最基本的文件处理功能,日常工作中当你文件中有很多无需的信息,但是其他的excel等又不能很快的过滤关键信息出来,那你不妨试试python来正则re匹配出你想要的东西。


案例场景


一个文件中内容如下(部分内容已省略):


<option value="1.0.1.0-1.0.4.0" title="1.0.1.0-1.0.4.0">1.0.1.0-1.0.4.0</option>...<option value="1.0.32.0-1.0.64.0" title="1.0.32.0-1.0.64.0">1.0.32.0-1.0.64.0</option><option value="1.1.0.0-1.1.1.0" title="1.1.0.0-1.1.1.0">1.1.0.0-1.1.1.0</option>


目的:想要获取title中双引号中的内容


思路:由于文件不是很大,可以用python的read()一次性读入,并使用正则过滤出title内容再利用split进行详细过滤


实现代码


#-*- coding:utf-8 -*-
import sys
import re
def banner():
    print ' '*60
    print '#'*60
    print '#author laoyan'
    print '#This script is applied to Filtering IP information.'
    print '#'*60
    print ' '*60
def main(lyfile):
    try:
        f=open(lyfile,'r')
        ref=open('reloadips.txt','w')
        lyf=f.read()
        refind=re.findall(r'title=\".+?\"',lyf)
        for i in range(len(refind)):
            a=refind[i].split('title="')
            b=a[1].split('"')[0]
            ref.write(b+'\n')
    except:
        print 'error occurs while reading file'
    finally:
        f.close()
        ref.close()
        print 'Success!'
if __name__ == '__main__':
    if len(sys.argv) == 2:
        banner()
        lyfile=sys.argv[1]
        main(lyfile)
    else:
        print 'useage: python reloadips.py filename'
        sys.exit(1)


实现效果


Python读取文件中内容利用正则获取想要的关键信息01.png


Python读取文件中内容利用正则获取想要的关键信息02.png


相关推荐


python标准库中re正则模块介绍


http://www.lybbn.cn/data/datas.php?yw=108


python标准库sys模块常用函数介绍


http://www.lybbn.cn/data/datas.php?yw=79


python中read() readline() 和 readlines()的区别


http://www.lybbn.cn/data/datas.php?yw=15


python条件判断和循环


http://www.lybbn.cn/data/datas.php?yw=9


转载请注明来自Lybbn(lybbn.cn)

我要小额支持下

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

取消
吐槽一下

游客

所有吐槽
  • 暂时还没有吐槽,赶紧来吐槽!