Python使用os模块遍历目录与文件名的完整示例

陆景行
陆景行
发布时间:2026-10-13 | 4人浏览过
原创

本文详解Python中利用os模块获取当前目录及子目录下所有文件与文件夹的方法。通过os.walk()函数递归遍历目录结构,展示如何提取当前路径、子目录列表及非目录文件名。同时提供按扩展名筛选文件及递归获取指定路径下所有子目录和文件名称的实例代码,适用于需要批量处理文件或管理目录结构的场景。

Python os模块目录遍历基础

在Python的os模块中,主要涉及两个用于目录操作的核心函数:


 os.walk()
  os.listdir()
# -*- coding: utf-8 -*-  
  import os 
  def file_name(file_dir):  
    for root, dirs, files in os.walk(file_dir): 
      print(root) #当前目录路径 
      print(dirs) #当前路径下所有子目录 
      print(files) #当前路径下所有非目录子文件

其输出格式通常包含以下信息:

当前文件所在的目录路径。

当前路径下存在的子文件目录列表(如果存在子目录则显示具体内容,若不存在则返回空列表[])。

当前路径下所有非目录性质的子文件,仅返回子文件的文件名部分。

具体展示“子文件1”的完整路径。

“子文件1”路径下包含的子文件目录列表。

“子文件1”路径下包含的非目录子文件列表。

具体展示“子文件2”的完整路径。

“子文件2”路径下包含的子文件目录列表。

“子文件2”路径下包含的非目录子文件列表。

按扩展名筛选文件示例


# -*- coding: utf-8 -*-  
  import os 
  def file_name(file_dir):  
    L=[]  
    for root, dirs, files in os.walk(file_dir): 
      for file in files: 
        if os.path.splitext(file)[1] == '.jpeg': 
          L.append(os.path.join(root, file)) 
    return L 
#其中os.path.splitext()函数将路径拆分为文件名+扩展名

递归获取指定路径文件列表


# -*- coding: utf-8 -*- 
  import os 
   
  def listdir(path, list_name): #传入存储的list
    for file in os.listdir(path): 
      file_path = os.path.join(path, file) 
      if os.path.isdir(file_path): 
        listdir(file_path, list_name) 
      else: 
        list_name.append(file_path)

通过递归方式,输出当前指定路径下所有的非目录子文件。

知识点补充:介绍如何利用Python获取当前工作目录的名称,以及如何获取指定目录下的所有子目录和文件名称。

获取当前目录及指定路径子目录文件


import os

#获取当前目录名称
print(os.getcwd())

#获取指定目录下的子目录和文件名称
path = “D:\guaishounan”
print("【",path,"】 目录下包括的子目录和文件:")
for root,dirs,files in os.walk(path,topdown=True):
for name in dirs:
print(“子目录●”,os.path.join(root,name))
for name in files:
print(“文件◎”,os.path.join(root,name))

至此,关于Python获取当前目录下文件目录和文件名的实例代码详解已完成。如需了解更多相关Python获取目录文件目录和文件名的内容,请搜索本站历史文章或继续浏览后续相关文章。感谢大家的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表