一、前言
函数的递归,简单来说,就是函数内部调用自己
先举个小例子,求阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
递归要注意两个事项:
1、必须要有最后的默认结果,也就是最底层目录的默认结果
if n == 0
2、递归参数必须向默认结果收敛
factorial(n-1)
二、递归列出目录里的文件(包括子目录,类似 linux下的find)
要用到 os 模块下的几个方法
import os
1、os.listdir('/root/python/') #列出当前目录下所有文件
2、os.path.isdir('/abc') #判断是否是目录,返回布尔值,不存在也返回false
3、os.path.isfile('/etc/passwd') #判断是否是文件
4、os.path.join('/etc/', 'passwd') #连接文件,返回/etc/passwd
#!/usr/bin/python
import os
import sys
def print_files(path):
lsdir = os.listdir(path)
dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
if dirs: