首页 > 技术文章 > Python3:递归实现输出目录下所有的文件

test123 2018-12-11 16:17 原文

今天来整理一下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 workspace\py11\1001\py\pytest\py1\a.py
D:\python workspace\py11\1001\test01.py
D:\python workspace\py11\1001\test02.py
D:\python workspace\py11\1001\test03.py
D:\python workspace\py11\1001\test04.py
D:\python workspace\py11\1001\test05.py
D:\python workspace\py11\1001\test06.py
D:\python workspace\py11\1001\test07.py
D:\python workspace\py11\1001\test08.py
D:\python workspace\py11\1001\__init__.py

推荐阅读