Python基于正则表达式实现检查文件内容的方法【文件检索】


Posted in Python onAugust 30, 2017

本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下:

这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言。平时工作中用Java ,觉得python在日常生活中比java用处要大,首先语法没那么复杂,特别是io的操作,java里要写一大坨没关的代码。还有就是不用编译,而且linux系统默认都会自带。

这次遇到的问题是工作当中想要迁移一个系统中的一个模块,这个时候需要评估模块里的代码有没有对其他代码强依赖,就是有没有import 其他模块的代码。如果通过人肉来坐,少量的文件还好,如果有大量的文件实在是很悲剧。这个时候就想起可以用pytho来检索文件,通过正则表达式分析文件内容,把有问题的文件名打印出来就可以了。

import os
import os.path
import re
packDir='/**/src/main/java/com/hz/yk/auction'
p1=re.compile(r"yk\.((?!auction)\w)+\b")
p2=re.compile(r"yk\.((?!domain)\w)+\b")
p3=re.compile(r"yk\.((?!utils)\w)+\b")
def processDirectory(args,dirname,filenames):
  # print 'Directory',dirname
  for filename in filenames:
    if os.path.splitext(filename)[1]=='.java':
      # print 'file',filename
      fileObj=open(dirname+ "/"+filename)
      hasOther=False
      for line in fileObj:
        if p1.search(line) and p2.search(line) and p3.search(line):
          hasOther=True
          print line
      if hasOther:
        print 'file:',filename
def search():
  os.path.walk(packDir,processDirectory,None)
if __name__ == '__main__':
  search()

因为希望看到应用其他模块的代码,所以排除掉自己的模块名auction和公共的应用domain,utils 。对剩下的符合条件的打印出import这句和文件名sikuli

Python 相关文章推荐
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python实现处理管道的方法
Jun 04 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
Python操作redis和mongoDB的方法
Dec 19 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
Mar 08 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Python matplotlib实时画图案例
Apr 23 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
Python中第三方库Faker的使用详解
Apr 02 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 #Python
Python导入模块时遇到的错误分析
Aug 30 #Python
简单学习Python多进程Multiprocessing
Aug 29 #Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 #Python
Python实现文件内容批量追加的方法示例
Aug 29 #Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 #Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 #Python
You might like
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
js实现无缝轮播图
2020/03/09 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
python人人网登录应用实例
2014/09/26 Python
python实现外卖信息管理系统
2018/01/11 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
销售文员的岗位职责
2013/11/20 职场文书
导游实习生自荐书
2014/01/28 职场文书
消防安全检查制度
2014/02/04 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015年度物流工作总结
2015/04/30 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫