用python实现一个本地文件搜索功能。

可根据输入关键字查询本地目录的文件名,如果匹配,将结果列出来。目前我分不够,如果有答案,一定追加!... 可根据输入关键字查询本地目录的文件名,如果匹配,将结果列出来。目前我分不够,如果有答案,一定追加! 展开
 我来答
hujian5241
推荐于2017-10-06
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
import re,os
import sys
def filelist(path,r,f):
"""
function to find the directions and files in the given direction
according to your parameters,fileonly or not,recursively find or not.
"""
file_list = []
os.chdir(path)
filename = os.listdir(path)
if len(filename) == 0:
os.chdir(os.pardir)
return filename
if r == 1: ##
if f == 0: # r = 1, recursively find directions and files. r = 0 otherwise.
for name in filename: # f = 1, find files only, f = 0,otherwise.
if os.path.isdir(name): ##
file_list.append(name)
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
elif f == 1:
for name in filename:
if os.path.isdir(name):
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error1'
elif r == 0:
if f == 0:
os.chdir(os.pardir)
return filename
elif f == 1:
for name in filename:
if os.path.isfile(name):
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error2'
else:
print 'Error3'

'''
f = 0:list all the files and folders
f = 1:list files only
r = 1:list files or folders recursively,all the files and folders in the current direction and subdirection
r = 0:only list files or folders in the current direction,not recursively

as for RE to match certern file or dirction,you can write yourself, it is easier than the function above.Just use RE to match the result,if match,print;else,pass
"""
babykick
2011-05-31 · TA获得超过406个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:158万
展开全部
os模块的walk函数和glob模块,请参看python官方文档。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a9bfb8ce5
2011-06-05 · TA获得超过2775个赞
知道答主
回答量:164
采纳率:0%
帮助的人:98.7万
展开全部
旺道网站优化——最好的关键词排名工具,在SEO界曾轰动一时,可以说为众多的SEO爱好者减轻了关键词排名的很多工作,在这高度发展的搜索引擎推广中到处可以看到她的身影,随意百度一下网站优化都可以找到——苏州网络公司旺道网站优化!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a175662
2011-05-29
知道答主
回答量:23
采纳率:0%
帮助的人:17.6万
展开全部
正则表达式匹配!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
窗外风雨飘摇
2011-05-31 · TA获得超过262个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:0
展开全部
os.walk
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式