python 文本文件中查找指定的字符串

python 文本文件中查找指定的字符串,第1张

编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。

import os

class SearchFile(object):

def __init__(self,path='.'):

self._path=path

self.abspath=os.path.abspath(self._path) # 默认当前目录

def findfile(self,keyword,root):

filelist=[]

for root,dirs,files in os.walk(root):

for name in files:

fitfile=filelist.append(os.path.join(root, name))

#print(fitfile)

print(os.path.join(root, name))

#print(filelist)

print('...........................................')

for i in filelist:

if os.path.isfile(i):

#print(i)

if keyword in os.path.split(i)[1]:

print('yes!',i)# 绝对路径

#else:

#print('......no keyword!')

def __call__(self):

while True:

workpath=input('Do you want to work under the current folder? Y/N:')

if(workpath == ''):

break

if workpath=='y' or workpath=='Y':

root=self.abspath # 把当前工作目录作为工作目录

print('当前工作目录:',root)

dirlist=os.listdir() # 列出工作目录下的文件和目录

print(dirlist)

else:

root=input('please enter the working directory:')

print('当前工作目录:',root)

keyword=input('the keyword you want to find:')

if(keyword==''):

break

self.findfile(keyword,root) # 查找带指定字符的文件

if __name__ == '__main__':

search = SearchFile()

search()

targetstr 为特定字符串

filename为文件名

with open(filename,'r')as fp:

for line in fp:

if targetstr in line:

print line

这样就找到特定字符串所在的行内容了

用正则表达式

>>> s='hello world'

>>> import re

>>> re.search('wor',s)

<_sre.SRE_Match object span=(6, 9), match='wor'>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8061531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存