python查找txt文件中关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python查找txt文件中关键字相关的知识,希望对你有一定的参考价值。

现在有一个文件夹xx中含有多个txt文件,每个txt文件里面有多篇文章,每篇文章都是用分隔开,例如:

从前有座山,山里有座庙...小白是个学生...从前有座山,山里有个老和尚...

含有关键字“从前"和“山”的文章,只有当两个关键字同时满足,然后在整篇文章后加上##NO,不满足条件的,则不需改变。

最终结果如下:

从前有座山,山里有座庙...##NO小白是个学生...从前有座山,山里有个老和尚...##NO

用python怎么实现,由于我是初学者请注明解释,谢谢了

伪代码:

1、遍历文件夹下所有txt文件

rootdir = '/path/to/xx/dir'   # 文件夹路径
for parent, dirnames, filenames in os.walk(rootdir):
    for filename in filenames:

2、读取txt文件里的内容,通过正则表达式把txt里多篇文章拆分开来。得到一个列表:['xx1##NO', 'xx2', 'xx3##NO']

3、把上面得到的list写到一个新的临时文件里,比如:xx_tmp.txt,然后:shutil.move('xx_tmp.txt', 'xx.txt') 覆盖掉原来的文件

参考技术A a = "从前有座山,山里有座庙...小白是个学生...从前有座山,山里有个老和尚..."
b = "从前"
c = "山"
d = a.split("")
for i in range(len(d)):
if b in d[i] and c in d[i]:
d[i] = d[i] + "##NO"

e = "".join(d)
print e

linux下日志文件查找关键词

1.查找 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs 目录下已.txt结尾的文件,在文件中搜索关键字 IfcmpEcrService并打印行号

find /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs -type f -name \'*.txt\'|xargs grep -rn "IfcmpEcrService"

结果如下,第一列是文件 第二列是行号

可以用 vi 查看文件 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs/localhost_access_log.2017-03-22.txt 验证结果

vi /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs/localhost_access_log.2017-03-22.txt

命令行模式(输入冒号 : 即可进入)下输入 set nu 可以显示行号

set nu 

输入 /关键词 可以看到关键词在哪行了

 2.下载相应的日志文件到本地进行详细查看

打开 secureCRT,设置本地目录,也就是下载的文件存放的目录

选项-->会话选项

 

打开 secureCRT 的sftp 功能

文件--》连接SFTP标签

 查看本地目录的文件

lls

查看服务器上文件

ls

下载服务器上的文件到windows

get /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs/catalina.out

 

我们在看下本地目录的文件

 

已经下载下来了。

 3.关于windows下查找相关日志就一个简单的命令就可以完成了

findstr /s /i "userRoleRelation/userRoleRelation" *.log >out.log

/s 在当前目录或子目录查找

/i 不区分大小写

"" 查找的内容

*.log 在以.log结尾的文件中查找

out.log 查询结果输出到out.log中

这样就很大的方便了查看系统日志的流程。

 

以上是关于python查找txt文件中关键字的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Python查找目录中是不是有任何txt文件

mfc中怎么查找txt文件中数据,并进行修改

在 Python 中查找扩展名为 .txt 的目录中的所有文件

如何根据 .txt 文件中的关键字在 Python 中创建列表?

C++如何分别读取和查找txt文档中的内容

python如何读取txt文件中指定内容?