import os
filename = input("请输入文件名,支持模糊搜索: ")
path = os.path.abspath(input("请输入搜索目录: "))
def searchFile(filename, path):
for x in os.listdir(path):
if os.path.isfile(x) and filename in x:
print('finded: %s in %s' % (x, os.path.abspath(path)))
if os.path.isdir(x):
searchFile(filename, os.path.join(path, x))
searchFile(filename, path)
风雪扑面
思考半天,写不出相对路径来,用
os.path.split()
又只能拿到最后一个目录,请大神指点。 在测试的时候发现存在中英文混合的兼容问题:如果仅目录名含中英文,其目录下的文件是英文命名能正常运行; 如果目录名和文件名都有中英文混合情况,函数执行完不报错,但是返回空结果。另外,搜索大目录递归容易溢出。