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 的目录中的所有文件