递归返回 地址的一个列表

import os

'''想返回的是列表,但是在循环中返回就结束了,之前在函数最上面定义lst=[]无法返回所以采用传参的方式'''
def dir_in_path(path,lst=[]):
    path_dir = os.listdir(path)
    for dir in path_dir:
        path_join = os.path.join(path, dir)
        if os.path.isdir(path_join):
            lst.append(path_join)
            dir_in_path(path_join,lst)
    return lst
dir = dir_in_path(r'D:\27\ftp\server')
print('>>》》》》》',dir)



def file_in_path(path,lst = []):

    path_file = os.listdir(path)
    for file in path_file:
        path_join = os.path.join(path, file)
        if os.path.isfile(path_join):
            lst.append(file)
        else:
            file_in_path(path_join,lst)
    return lst

file = file_in_path(r'D:\27\ftp\server')
print('>>',file)

  

posted @ 2019-09-18 10:16  流年中渲染了微笑  阅读(180)  评论(0编辑  收藏  举报