这是在子目录(不是当前目录)中打印文件的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)
正如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)