python中在目录及其子目录下寻找匹配的文件,这是一个小练习
题目如下:
(1)编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
代码如下:
#寻找指定目录下(包含子目录)中的文件名含有指定字符串的文件,并打印出其相对路径
#coding:utf-8
import os
def my_find(s,root=‘.‘):
dirs=[]#用来保存目录
matchs=[]#用来保存匹配字符串的文件
for currentName in os.listdir(root):
addRootName=os.path.join(root,currentName)
if os.path.isdir(addRootName):
dirs.append(addRootName)
elif os.path.isfile(addRootName) and s in addRootName:
matchs.append(addRootName)
for match in matchs:
print(match)
for dir in dirs:
my_find(s,dir)
my_find(‘test‘,‘.‘)
上面是以相对路径输入符合条件的文件。
如果我们想以绝对路径来输出符合条件的文件。则只需要将程序中的
addRootName=os.path.join(root,currentName)
换成下面这条语句即可
addRootName=os.path.join(os.path.abspath(root),currentName)
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u010412719/article/details/46842117