import os
input_path = input("请输入你要查找的目录:\n")
input_keyword = input("请输入你要查找的关键字(区分大小写):\n")
for path,dirnames,files in os.walk(input_path):
for filename in files:
if input_keyword in filename:
print(filename)
print('...结束...')使用os.walk() 可以得到一个三元tupple(dirpath, dirnames, filenames),分别是:
dirpath:目录路径 ,为string
dirnames:子目录名称 , 为list
filenames:目录及子目录下所有的文件名称,为list
匹配中可以用fnmatch.fnmatch(name, pattern),
name 对应 filename,pattern对应keyword。
只需将
if input_keyword in filename:改为
if fnmatch.fnmatch(filename,input_keyword):不过有两点要注意的:
第一,需要先import fnmatch;
第二,input_keyword需要满足fnmatch的格式条件,例如需要搜索txt后缀的文件,前者只需要输入txt(区分大小写),后者需要输入*txt,但是后者可以满足模糊匹配,即输入*TXT亦可。
本文介绍了一个简单的Python脚本,该脚本允许用户通过输入目录路径和关键字来查找包含该关键字的所有文件。通过os.walk遍历指定目录及其子目录,并利用fnmatch进行更精确的模式匹配。
418

被折叠的 条评论
为什么被折叠?



