Python入门教程30讲作业2,
def file_judge(file_target,file_path):import os
all_files = os.listdir(file_path) # os.listdir是列举指定目录全部文件名,为下面判断每一个文件是不是文件夹和指定文件做准备
if file_target in all_files:
print("目标文件%s在目录%s中" %(file_target,file_path))
else:
for each_file in all_files:
if os.path.splitext(each_file) == "": # isdir 用来判断指定文件是否为文件夹
file_path = os.path.join(file_path,each_file)
return file_judge(file_target,file_path)
print("目标文件%s不在目录%s中" %(file_target,file_path))
可以实现在最后一次递归完成后返回上一级的循环吗? os.chdir(os.pardir) qiuyouzhi 发表于 2021-2-3 20:53
我放在return file_judge(file_target,file_path)下一行了,但是还是没有返回回去 silver-crow 发表于 2021-2-3 21:04
我放在return file_judge(file_target,file_path)下一行了,但是还是没有返回回去
为什么要返回上一级呢? qiuyouzhi 发表于 2021-2-3 21:19
为什么要返回上一级呢?
因为不返回的话,如果遇到文件夹递归结束后就不循环了 silver-crow 发表于 2021-2-4 08:31
因为不返回的话,如果遇到文件夹递归结束后就不循环了
放在那个else外面试试? 本帖最后由 silver-crow 于 2021-2-4 10:38 编辑
qiuyouzhi 发表于 2021-2-4 09:07
放在那个else外面试试?
刚刚试了,也不行
页:
[1]