huyanmin 发表于 2021-1-27 12:34:01

python 30课习题,递归查找文件,求详解,如何返回的

#递归查找文件源代码
import os

def search_file(start_dir, target) :
    os.chdir(start_dir)
   
    for each_file in os.listdir(os.curdir) :
      if each_file == target :
            print(os.getcwd() + os.sep + each_file) # 使用os.sep是程序更标准
      if os.path.isdir(each_file) :
            search_file(each_file, target) # 递归调用
            os.chdir(os.pardir) # 递归调用后切记返回上一层目录

start_dir = input('请输入待查找的初始目录:')
target = input('请输入需要查找的目标文件:')
search_file(start_dir, target)

heidern0612 发表于 2021-1-27 13:38:51

不是有个print吗?

print就是程序运行完毕后打印出来的信息。

2269099035 发表于 2021-1-27 15:03:18

这里是找文件,跟算阶乘那个不太一样,可以不要自己写return。当找到文件的时候,我们没写return,他就相当于自己return None了。但是我们要的信息已经Print出来了,所以无关紧要
页: [1]
查看完整版本: python 30课习题,递归查找文件,求详解,如何返回的