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

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

本文详解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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。