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亦可。