python os 完成获取当前目录下所有文件和文件夹

递归

可以通过os.listdir 获取当前目录下的文件和文件夹, 然后for循环遍历, 再用

os.path.isdir(path, i)

判断当前遍历的文件是否是文件夹, 如果是文件夹,则将该文件和路径传递到当前函数,递归获取这个文件夹下的文件和文件夹

使用递归弊端,python中的递归也不是无限次的,因为每递归一次都要压栈一次,要保留当前函数的数据内容,耗费内存,当正常递归到1000次左右的时候程序会抛出错误,防止内存溢出

os.walk()

可以使用os中的walk函数, 将当前目录给walk("./"), 然后for 循环这个函数

for path, file_dir, files in os.walk('./'):
	for file_name in files:
		print(os.path.join(path, file_name))     # 当前循环打印的是当前目录下的所有文件
	for dir in file_dir:
		print(os.path.join(path, dir))     # 当前打印的是当前目录下的文件目录

你可能感兴趣的:(python,基础高级)