Python递归遍历文件夹,寻找包含某个字符串的文本文件,python递归,linux下,如果不使用
Python递归遍历文件夹,寻找包含某个字符串的文本文件,python递归,linux下,如果不使用
linux下,如果不使用eclipse的话,想查找某个字符串在哪些文件中出现过就很麻烦,自己写了这个脚本在编码时使用,挺方便的。如果某个文本文件中包含的话,则只记录出现第一次的行数输出
使用方法:
python xxx.py 路径 字符串
python search_content.py /home/www/ abcdefg
#!/use/bin/env python#-*- coding:utf-8 -*-import sys,osfilterType = ['gif','png','bmp','jpg','jpeg','rar','zip', 'ico','apk','ipa','doc','docx','xls','jar', 'xlsx','ppt','pptx','pdf','gz','pyc','class']num = 0def search(path=None,cont=None): if not path or not cont: print('path or searchString is empty') return global num _loopFolder(path,cont) print("%s file find" % num)def _loopFolder(path,cont): arr = path.split('/') if not arr[-1].startswith('.'): #不检查隐藏文件夹 if os.path.isdir(path): folderList = os.listdir(path) for x in folderList: _loopFolder(path+"/"+x,cont) elif os.path.isfile(path): _verifyContent(path,cont)def _verifyContent(path,cont): if path.split('.')[-1].lower() in filterType: return global num fh = open(path,'r') fhContent = fh.readlines() fh.close() for index,x in enumerate(fhContent): if cont in x: num += 1 print("%s %s" % (path,index+1)) break returnif __name__ == "__main__": if len(sys.argv) < 3: print("invalid parameters") else: search(sys.argv[1],sys.argv[2])#该片段来自于http://byrx.net
相关内容
- Python实现读取文件,python实现读取,def get_byte
- Python3 的 tkinter 简单实例,python3tkinter,创建一个小窗口
- 从Bing中国上下载背景图片,bing中国背景图片,改用url
- saltstack reg模块修复,saltstackreg模块,原来的modules/r
- 局域网聊天---当前有图形和基本的架构 分享有时间的可
- 下载进度条显示,进度条显示,#!/usr/bin/p
- 掷骰子游戏,,游戏规则:玩家投掷两个骰
- 求多个数的最小公倍数,个数最小公倍数,import math"
- code golf--打印数字菱形,codegolf--,s=str(111111
- Python 秒杀“Ruby 太慢了”问题,pythonruby,感觉程序员是
评论关闭