Discuss / Python / 作业

作业

Topic source

第二题应该是模糊查询吧:

import os


def mydir(path,filename):
    try:
        #print('dir:%s'%path)
        for x in os.listdir(path):
            if os.path.isfile(os.path.join(path,x)):
                name = os.path.splitext(x)[0]
                for y in range(0,(len(name)-len(filename))):
                    if len(name)<len(filename):break
                    elif name[y:y+len(filename)] == filename or name == filename:
                        print('Found the file "%s" in "%s/%s"'%(filename,path,x))
                        break
            elif os.path.isdir(os.path.join(path,x)):
                mydir(os.path.join(path,x),filename)
            else:
                a=1
    except Exception as e:
        print('Error',e,path)

mydir('/Users','使用')
else:
     a=1

应该修改为:

print('UnknowError %s'%os.path.join(path,x))

发现有很多文件既不是文件夹也不是普通的文件,对于这道题,“esle:print('UnknowError %s'%os.path.join(path,x))” 这段,可以删掉。


  • 1

Reply