python 各种遍历文件夹的方法

这篇具有很好参考价值的文章主要介绍了python 各种遍历文件夹的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python 提供了一些库,可以帮助我们实现文件夹遍历。在本文中,我将介绍三种常用的遍历文件夹的方法,并且给出每种方法的使用示例和优缺点分析。

方法一:os.walk()

 os.walk() 是 Python 中最常用的遍历文件夹的方法。这个方法会自动地递归遍历文件夹中的所有子文件夹。在遍历过程中,返回的是一个元组(root, dirs, files),其中 root 表示当前遍历到的文件夹的路径,dirs 表示当前文件夹下的子文件夹,files 表示当前文件夹下的所有文件。

import os

# 遍历文件夹
def traversal_folder(folder_path):
    for root, dirs, files in os.walk(folder_path):
        # 遍历当前文件夹下的所有文件
        for file_name in files:
            file_path = os.path.join(root, file_name)
            print(file_path)

# 调用函数
folder_path = r"D:\data"
traversal_folder(folder_path)

优点:os.walk() 能够自动遍历文件夹下的子文件夹,无需手动递归。

缺点:对于大型文件夹,os.walk() 会占用大量的内存,因为它需要把所有的文件都存储在内存中,会导致程序崩溃。

方法二:os.listdir()

os.listdir() 是 Python 中另一种常用的遍历文件夹的方法。这个方法会返回指定路径下的所有文件和文件夹的列表,但是不会递归遍历。

import os

# 遍历文件夹
def traversal_folder(folder_path):
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        print(file_path)

# 调用函数
folder_path = r"D:\data"
traversal_folder(folder_path)

优点:os.listdir() 执行速度比 os.walk() 更快。

缺点:os.listdir() 不会递归遍历,如果需要递归遍历的话,还需要在函数中加入递归操作。

方法三:glob.glob()

glob.glob() 是 Python 中一种使用比较少见的遍历文件夹的方法。这个方法会根据指定的文件名模式匹配到的所有文件和文件夹,并以一个列表的形式返回。类似于 os.listdir(),不会递归遍历。

import glob

# 遍历文件夹
def traversal_folder(folder_path):
    for file_path in glob.glob(os.path.join(folder_path, '*')):
        print(file_path)

# 调用函数
folder_path = r"D:\data"
traversal_folder(folder_path)

优点:glob.glob() 使用简单,代码量少。

缺点:glob.glob() 不会递归遍历,如果需要递归遍历的话,还需要在函数中加入递归操作。

结论

       以上就是三种常用的 Python 遍历文件夹的方法。在实际使用中,我们可以根据具体情况选择不同的方法来实现文件夹的遍历。如果需要递归遍历,建议使用 os.walk() 方法,如果只需要遍历当前文件夹,建议使用 os.listdir() 或 glob.glob() 方法。

 文章来源地址https://www.toymoban.com/news/detail-838955.html

到了这里,关于python 各种遍历文件夹的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python遍历目录(文件夹)os.walk

    打印:

    2024年02月08日
    浏览(42)
  • c#关于文件夹/文件/文本读取遍历,写入还有表格的读取的一些方法

    c#遍历文件夹下的各种文件 将一些log写入到文本文件中: fs.Seek(offset, whence);移动文件读取的指针到指定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数 whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始

    2024年02月01日
    浏览(59)
  • Python遍历对文件夹进行级联遍历os.walk()

      当你调用 os.walk(folder_path) 函数时,它会遍历指定的文件夹 folder_path 及其所有子文件夹中的文件和文件夹。 递归遍历的逻辑如下: 首先,函数从指定的 folder_path 文件夹开始遍历。 对于当前遍历的文件夹,它会返回一个三元组 (root, dirs, files) : root :当前正在遍历的文件夹

    2024年02月07日
    浏览(42)
  • 【跑实验05】利用CLIP中的图像编码器,如何遍历文件夹中的图像,将图像文件改为28*28的尺寸,然后输出到excel中的每一列,最后一列全都标记为0

    要遍历文件夹中的图像并将其尺寸调整为28x28,并将结果输出到Excel中,可以按照以下步骤进行操作: 首先,确保您已经安装了Pandas库,用于处理Excel文件。可以使用以下命令安装它: 然后,使用以下代码来遍历文件夹中的图像、调整尺寸并输出到Excel中: 请将代码中的/pat

    2024年02月10日
    浏览(42)
  • linux 合并两个文件夹中的方法

    情景 git 仓库中有多个分支,每个分支中都有一个文件夹“tar”用来存放压缩包,路径像这样的:tar/lib/xxxx.zip 需求: 需要把每个分支中tar文件夹里的压缩包汇总起来。这就有一个要求,若两个子文件夹中的文件同名则不动,不同名则新增。 比如: A分支:tar/lib/libxml-2.1.1.z

    2024年02月03日
    浏览(36)
  • Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹

    本篇以代码为核心,在实践中自学吧年轻人~ 要进行文件处理肯定需要 File 类啦。 File 的实例是一个实例(?),但是可以链接到本地的文件、文件夹,并对它们进行操作。 从下面的一些示例中可以看到,同一份本地文件可以拥有多个File对象;同时,构造一个File对象时传入

    2024年02月05日
    浏览(78)
  • SHELL脚本 遍历文件夹下所有文件以及子文件夹

    dir 要设置为局部变量 如果设置为全局变量 在func递归时传入的参数 会改变 dir的值,将导致之后的文件目录错误(为更改后的dir值) 当前目录情况: 执行完shell后: 附上代码: 如有不对,感谢指出。

    2024年02月12日
    浏览(56)
  • Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件

      本文介绍基于 Python 语言,针对一个 文件夹 下大量的 Excel 表格文件,基于其中 每一个文件 的名称,从 另一个文件夹 中找到与 这一文件夹 中文件同名的文件,并将找到的 同名文件 复制到 第三个文件夹 中的方法。   首先,我们来明确一下本文的具体需求。现有一个

    2024年02月05日
    浏览(53)
  • Java遍历文件夹

    递归遍历指定路径下的所有文件和文件夹,如果是文件夹则继续向内部遍历,直到获取所有的文件。 测试

    2024年02月14日
    浏览(58)
  • java 在文件夹以及子文件夹中遍历获取指定文件的list

    1.  使用java 递归方法获取指定文件的list,相当于在一个文件夹以及子文件夹,搜索文件的功能。 直接上代码: 

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包