首页 > 编程 > Python > 正文

python检索特定内容的文本文件实例

2020-02-15 21:40:00
字体:
来源:转载
供稿:网友

windows环境下python2.7

脚本指定一个参数作为要检索的字符串

例如: >find.py ./ hello

# coding=utf-8import osimport sys# 找到当前目录下的所有文本文件def findFile(path): f = [] d = [] l = os.listdir(path) for x in l: if os.path.isfile(os.path.join(os.getcwd() + "//", x)):  f.append(x) else:  d.append(x) return f, d # 返回文件和目录的列表# print x, "/n", y# 统计一个文本内字符串的个数def findstrCount(file, strToFind): count = 0 thefile = open(file, 'rb') while True: buffer = thefile.read() if not buffer:  break count += buffer.count(strToFind) thefile.close() return count# 遍历文件列表中,包含特定字符串的文件def findstr(file, str): # f = open(file, "r+") # if f.read().find(str) != -1: # s = os.getcwd() + "//" + file # else: # s = "None" # f.close() i = 1 global s for line in open(file):  # return is index of the str start position. if line.find(str) != -1:  s = os.getcwd() + "//" + file + "------>line:%d" % (i)  print s i = i + 1 return sL = [] # 全局变量,存放找到的目标文件def find(p, str): try: f, d = findFile(p) for x in f:  Ret = findstr(x, str)  if Ret:  L.append(Ret) if d:  for x in d:  os.chdir(x)  find("./", str)  os.chdir('../') except Exception, e: print e finally: passif __name__ == '__main__': s = 0 find(sys.argv[1], sys.argv[2])

以上这篇python检索特定内容的文本文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表