递归函数(了解)

def func1():
    print(111)
    print("www")
func1()
# 111
# www

import sys
print(sys.getrecursionlimit())  # 1000

def func(n):
    n += 1
    print(n)
    func(n)

func(0)

import sys
sys.setrecursionlimit(10000)

def func(n):
    n += 1
    print(n)
    func(n)

func(0)  # 3220

# 递归函数会在内存空间不断开辟新的内存地址,直到占满内存,因为它是自己调用本身函数

# 递归函数的应用:
import os

listdir 获取当前文件夹内的所有目录和文件,通过list返回
file_list = os.listdir("G:\day12 视频以及笔记")
print(file_list)
# ['.idea', ...  '递归.py']

# 判断是否是目录
for file in file_list:
    # 将上级文件路径与文件拼接,返回文件路径
    file_path = os.path.join("G:\day12 视频以及笔记", file)
    # print(file_path)
    if os.path.isdir(file_path):
        print("这是目录", file)
    else:
        print("这是文件", file)

import os

def read(path, n):  #
    file_list = os.listdir(path)

    for file in file_list:
        file_path = os.path.join(path, file)
        if os.path.isdir(file_path):
            print("    " * n, file)
            read(file_path, n+1)
        else:
            print("    " * n, file)

read("G:\day13 视频以及笔记", 0)

# 01  深圳骑士计划脱产班3期  day13  昨日内容回顾作业讲解.mp4
# 02  深圳骑士计划脱产班3期  day13  函数总结.mp4
# 03  深圳骑士计划脱产班3期  day13  自定义模块A.mp4
# 04  深圳骑士计划脱产班3期  day13  自定义模块B.mp4
# 05  深圳骑士计划脱产班3期  day13  自定义模块C.mp4
# day13
#     01  今日内容大纲
#     02  作业讲解.py
#     03  自定义模块.py
#     abcdpythonuser.py
#     day11作业及默写.py
#     day12作业及默写.py
#     mima
#     mysql.py
#     orcle.py
#     tbjx.py
#     time.py
#     time1.py
#     __pycache__
#         abcdpythonuser.cpython - 36.pyc
#         mysql.cpython - 36.pyc
#         orcle.cpython - 36.pyc
#         time1.cpython - 36.pyc

 

posted @ 2019-01-07 18:32  星满夜空  阅读(335)  评论(0编辑  收藏  举报