可爱的python中的一个与递归相关的小问题
可爱的python一书中有一个练习题,是在一个目录中查找特定扩展名的文件,并且读取里面的内容,然后用户输入一个关键词,在这些文件中进行搜索,如果找到后就把这一行内容打印出来,他提出的问题是如果里面还有目录,目录里面还有更深的目录,解决这个问题,我想到的只能是递归。。。
#coding:utf-8
import os,sys
def cdGrep(keyword,filepath):
filelist = os.listdir(filepath)
for cdc in filelist:
if os.path.isdir(cdc):
filepath2 = os.path.join(filepath,cdc)
cdGrep(keyword,filepath2)
elif '.txt' in cdc:
# print filepath+cdc
f = open(filepath+''+ cdc)
for line in f.readlines():
linelower = line.lower()
if keyword in linelower:
print '您查找的关键词在%s中找到'% (filepath+''+cdc)
print line
f.close()
if __name__ == '__main__':
keword = raw_input('请输入想要查询的关键字')
pw = os.getcwd()
cdGrep(keword,pw)