Python3:递归实现输出目录下所有的文件

今天来整理一下os库中方法的使用,如何输出一个目录下的所有文件?

1.首先介绍几个基本的的方法:

1)os.getcwd()  #返回当前工作目录

2)os.listdir()    #返回一个列表,包含当前工作目录下的文件和路径

3)os.path.join(path,*paths) 路径拼接

4)os.path.isfile(path)  判断是不是文件,返回布尔值

 2.如何输出所有的文件路径呢?代码:

def allfile(basepath):
for item in os.listdir(basepath):     #循环目录下的每一个元素(目录或文件)
path=os.path.join(basepath,item) #路径拼接:要查询目录 + 第一级目录/文件
if os.path.isfile(path):       #判断:若果为文件,直接输出path
print(path)
else:
allfile(path) #如果仍是是目录,递归调用当前函数

调用:

path=os.getcwd()
allfile(path)

结果:

D:python workspacepy111001pypytestpy1a.py
D:python workspacepy111001 est01.py
D:python workspacepy111001 est02.py
D:python workspacepy111001 est03.py
D:python workspacepy111001 est04.py
D:python workspacepy111001 est05.py
D:python workspacepy111001 est06.py
D:python workspacepy111001 est07.py
D:python workspacepy111001 est08.py
D:python workspacepy111001\__init__.py

原文地址:https://www.cnblogs.com/test123/p/10102923.html