python如何将代码更改为递归函数

问题描述 投票:-1回答:1

这是在子目录(不是当前目录)中打印文件的python代码。我想将此代码更改为递归函数(使用递归调用)如何更改它?

def search_file(dirpath):
    filenames = os.listdir(dirpath)
    for filename in filenames:
        fullname = os.path.join(dirpath, filename)
        if os.path.isdir(fullname):
            os.chdir(fullname)
            sub_filenames = os.listdir(fullname)
            for sub_filename in sub_filenames:
                print(sub_filename)
python recursion
1个回答
0
投票

正如Tom所说,遇到目录时,您只需要再次调用该函数。如果它不是目录,则只需将名称打印出来。

def search_file(dirpath):
   filenames = os.listdir(dirpath)

   for filename in filenames:
        fullname = os.path.join(dirpath, filename)
        if os.path.isdir(fullname):
            search_file(fullname)
        else:
            print(fullname)
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.