今天下午被这个题目折磨了很久,在查看了很多语法后,终于写了出来!!!
下面我们来看一下题目:
题目描述很简单,就是判断指定目录下是否存在指定文件,并给出文件的指定路径。
这个题目的难点在于目录下面可能存在子目录,这是一个递归过程。
下面请看代码部分:
def search_it(paths, name):
try:
file_lis = os.listdir(paths)
except:
# print(paths, ": folder accessDenied")
return False
file_lis = os.listdir(paths)
if file_lis.__contains__(name):
print(f"{filename}在{paths}内")
print(f"文件的绝对路径为{os.path.join(paths,name)}")
return True
else:
for item in file_lis:
if search_it(os.path.join(paths,item), name):#如果递归的找到了这个文件
return True #所有递归函数全部返回True
return False
#
#
path = input("请输入一个目录:")
filename = input("请输入文件名:")
if not search_it(path, filename):
print(f"{filename}不在{path}内")
输出效果: