Python利用os模块递归遍历目录的完整实现
本文详解Python中os模块的核心用法,包括os.listdir、os.path.join及路径判断函数。通过递归算法实现无限层级目录遍历,完整代码展示如何区分文件与文件夹并输出绝对路径,适用于文件管理、批量处理等场景。
一、Python中os模块的常见的使用方法
os.listdir(path):用于遍历指定路径下的文件或文件夹,返回包含名称的列表。
os.path.join(path1, path2, ……,pathn):用于将多个路径字符串拼接成一个完整的路径。
os.path.isdir(path):用于判断指定路径是否指向一个文件夹(目录)。
os.path.isfile(path):用于判断指定路径是否指向一个普通文件。
os.path.dirname(path):用于返回路径字符串中的目录部分(文件夹名)。
os.path.filename(path):用于返回路径字符串中的文件名部分。
os.getcwd():用于获取当前工作目录的绝对路径。
二、实例及代码实现
'''
打印当前路径下所有的文件夹名以及文件名
1.列举所有文件夹【文件夹名打印】
遍历文件夹下面所有文件,若是文件夹,则进入文件夹,
若不是,则直接打印文件名
注意:层级多少层,并不知道,最好使用while,递归
'''
#
import os
def traver(path):
# 获取目录下的文件与目录列表
pathList = os.listdir(path)
# 遍历列表中的文件名
for file in pathList:
# 使用join函数对路径进行拼接,然后构成绝对路径
absPath = os.path.join(path,file)
# 通过绝对路径判断是否是文件
# 如果是文件,直接输出文件名
if os.path.isfile(absPath):
print("文件:",absPath)
# 否则调用函数本身,递归调用
else:
print("目录",absPath)
traver(absPath)
traver(r"G:\QF-1\frist_stage\day08")
以上这篇在Python中关于使用os模块遍历目录的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









