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

yipeiwu_com6年前Python基础

windows环境下python2.7

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

例如: >find.py ./ hello

# coding=utf-8
import os
import 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 s
L = [] # 全局变量,存放找到的目标文件
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:
 pass
if __name__ == '__main__':
 s = 0
 find(sys.argv[1], sys.argv[2])

以上这篇python检索特定内容的文本文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python读取properties配置文件操作示例

本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下: 工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.prope...

Python线程详解

Python线程详解

1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2. 线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享...

python模拟鼠标拖动操作的方法

python模拟鼠标拖动操作的方法

本文实例讲述了python模拟鼠标拖动操作的方法。分享给大家供大家参考。具体如下: pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后添加自己页签。重复的拖动工作实在无趣,还是让...

python zip()函数使用方法解析

这篇文章主要介绍了python zip()函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 参数iterable为可迭代...

Python设计模式之观察者模式实例

关于设计模式中的观察者模式,定义如下(维基百科): 觀察者模式(有時又被稱為發布/訂閱模式)是軟體設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀...