Python如何遍历文件夹下所有文件

一、os.walk函数的用法

import os

def walk_dir(path):
    for root, dirs, files in os.walk(path):
        for file in files:
            print(os.path.join(root, file))

walk_dir("path/to/dir")

os.walk是Python中用于遍历文件夹的函数,它会返回三元tuple,包括当前文件夹路径、当前文件夹下子文件夹列表,以及当前文件夹下所有文件列表。可以通过它来遍历整个文件夹。

在上述代码中,我们通过os.walk函数遍历了”path/to/dir”文件夹下的所有文件,并输出了它们的完整路径。循环中的第一个参数为当前文件夹的路径,第二个参数为当前文件夹下子文件夹列表,第三个参数为当前文件夹下所有文件列表。

二、递归函数的用法

import os

def traverse_dir(path):
    for file_name in os.listdir(path):
        abs_path = os.path.join(path, file_name)
        if os.path.isdir(abs_path):
            traverse_dir(abs_path) # 如果是文件夹,则递归调用自己
        else:
            print(abs_path)

traverse_dir("path/to/dir")

除了使用os.walk函数,我们还可以使用递归函数来遍历文件夹。递归函数是一种自我调用的函数,可以用来处理一些需要重复执行相同操作的问题。

上述代码中,我们定义了一个名为traverse_dir的函数,并传入当前文件夹的路径。函数中定义了一个for循环,用于遍历当前文件夹下的所有文件名。如果文件名对应的是一个文件夹,则递归调用自身,继续遍历子文件夹;否则,输出文件的完整路径。

三、glob模块的用法

import glob

files = glob.glob("path/to/dir/*.*")

for file_name in files:
    print(file_name)

glob.glob函数可以用来匹配文件路径,并返回符合条件的文件列表。通配符*可以代替任意长度的字符,比如*.*代表任意文件名,*.txt代表所有txt文件。

上述代码中,我们使用glob.glob函数获取”path/to/dir”文件夹下所有文件的路径,并输出它们的完整路径。

四、总结

以上三种方法都可以实现遍历文件夹下所有文件的功能。os.walk函数是Python自带的遍历文件夹函数,使用起来比较方便,但在特定情况下会比较慢。递归函数可以自定义遍历文件夹的方式,但需要考虑到递归深度和文件夹嵌套的情况。glob模块可以用来匹配符合条件的文件,较适合于对文件类型有要求的情况。选择何种方法取决于实际需求。

原创文章,作者:VHVXC,如若转载,请注明出处:https://www.506064.com/n/331689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VHVXC的头像VHVXC
上一篇 2025-01-20 14:10
下一篇 2025-01-20 14:10

相关推荐

  • Idea新建文件夹没有java class的解决方法

    如果你在Idea中新建了一个文件夹,却没有Java Class,应该如何解决呢?下面从多个方面来进行解答。 一、检查Idea设置 首先,我们应该检查Idea的设置是否正确。打开Id…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Python实现画笔方向改变

    本文将介绍如何在Python中实现画笔方向改变,让画笔以中心为轴旋转。 一、Tkinter库概述 Tkinter是Python自带的GUI库,可用于创建各种GUI应用程序。在Pyt…

    编程 2025-04-29
  • 运维Python和GO应用实践指南

    本文将从多个角度详细阐述运维Python和GO的实际应用,包括监控、管理、自动化、部署、持续集成等方面。 一、监控 运维中的监控是保证系统稳定性的重要手段。Python和GO都有强…

    编程 2025-04-29

发表回复

登录后才能评论