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()
这个很简单哈,我用java写过类似的,python下没写过,但思路都是一样的,我说一下思路,供你参考一下:【笨方法】”字符串截取“
基本字符串1=”abc123“
基本字符串2=”345aaa“
例如:目标字符串为:Today
is
a
good
day
aaa123目标字符串345aaa
那么:
获得基本字符串1的长度:len1=len(基本字符串1)
获得基本字符串2的长度:len2=len(基本字符串2)
---------------------------------------------------------------------
以len1长度开始截取目标字符串,以上面的例子为例,截取出来的应该为:
Today_
oday_i
day_is
ay_is_
y_is_a
等...........................
..............
当然这些都是一个循环就可以搞定,然后在这个循环里,对每次接触的字符串进行比对,如果找到与目标字符串形同的,则记下”索引“
开始进行下一步处理:截取本句剩下的部分,找到”基本字符串2“,然后记下其开始”索引“,那么两个”索引“之间的东东就是你想要的那个”目标字符串“,之后你想用它干什么都行...........
【超简单的方法】
会”正则表达式“吗?会的话,直接用正则吧,几句就出来了..........