python检索特定内容的文本文件实例
作者:wedvefv 发布时间:2022-12-29 12:05:42
标签: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])
来源:https://blog.csdn.net/l_vim11/article/details/53928112


猜你喜欢
- 在一般的MIS应用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储过程,用ASP通过ADO调用以完成报表工作。下面用一个例子
- 1.数组的索引我用的是iloc函数。导入数据是data,索引data.iloc[i,j],i代表行,j代表列。如果要索引i行之后的所有行元素
- 本文实例讲述了Python实现基于C/S架构的聊天室功能。分享给大家供大家参考,具体如下:一、课程介绍1.简介本次项目课是实现简单聊天室程序
- vue2.x前置概念:路由钩子分类一共分3类, 7个钩子路由和组件的概念(方便理解钩子函数)路由和组件是2个概念, 可以粗犷的认为:路由是浏
- bbssend.asp'寻呼台页面,向在线网友发送寻呼信息<%@ Language=VBScript %&
- 我们平时接触的长乘法,按位相乘,是一种时间复杂度为 O(n ^ 2) 的算法。今天,我们来介绍一种时间复杂度为 O (n ^ log 3)
- 自己有一套模块化的思路,想搜索一下有没有共鸣结果排名靠前的是通过class拼凑页面的想法。模块化是twinsen提出来的,从我接收第一个po
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- 最近经常遇到xmlHttp组件的问题, 今天终于有空将解决过程中的经验整理下来了! ^o^一、在运用xmlhttp组件编
- 目录Uiautomator2的安装和使用具体实现如何打开支付宝并进入蚂蚁森林?收能量如何停止完整代码结语@[toc] 虽然我支付宝加了好多好
- 一、Shutil 模块shutil其实也就是shell模块。其中包含一些函数,可以让我们在python程序中复制、移动、改名和删除文件。1.
- 目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,
- 前两篇讲述了Django的理论,从这篇开始,我们真正进入Django实战部分,今天先从用户认证开始。当大家平时打开一个网站时,第一步一般做什
- 本文实例为大家分享了vue仿写下拉菜单功能,带有过渡效果(移动端),供大家参考,具体内容如下效果图clickOutside.js 点击目标之
- 前言:Python可以引入指定路径的文件,原理就是使用sys.path.append加入到程序查找的路径。实验目的:调用不同目录的类和接口,
- 前言: 上一篇讲了Python排序问题中比较经典的三个方法,(链接:关于Python排
- 安装SQL Server 遇到错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!。找了半天
- create table test3(id int primary key not null identity(1,1),uname var
- 本文实例讲述了Python3中正则模块re.compile、re.match及re.search函数用法。分享给大家供大家参考,具体如下:r
- 1.建表代码如下:-- Create table create table test ( dm1 char(3), dm2 char(3),