Python 便利目标文件夹下的文件

在日常的编程工作中,我们经常需要处理文件和文件夹。有时,我们需要遍历一个文件夹下的所有文件,并对每个文件进行一些操作。Python作为一门强大而又灵活的编程语言,提供了许多方法和库来方便地处理文件和文件夹。

os 模块

Python的os模块提供了许多与操作系统相关的函数,包括文件和文件夹的操作。其中,os.walk()函数可以帮助我们遍历一个目标文件夹及其子文件夹下的所有文件。

下面是一个示例代码,演示了如何使用os.walk()函数遍历目标文件夹下的所有文件,并打印出每个文件的路径。

import os

# 目标文件夹路径
folder_path = "path/to/folder"

# 使用 os.walk() 遍历目标文件夹下的所有文件
for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)
        print(file_path)

上述代码中,os.walk()函数返回一个生成器(generator),可以在for循环中进行迭代。每次迭代返回一个三元组(root, dirs, files),其中root表示当前遍历的文件夹路径,dirs表示当前文件夹下的子文件夹列表,files表示当前文件夹下的文件列表。

通过os.path.join()函数,可以将当前遍历的文件夹路径和文件名拼接起来,得到完整的文件路径。

使用 glob 模块

除了os.walk()函数,Python的glob模块也提供了一种方便的方法来匹配文件路径。glob.glob()函数可以根据通配符模式匹配文件路径,并返回一个包含匹配路径的列表。

下面是一个示例代码,演示了如何使用glob.glob()函数遍历目标文件夹下的所有文件,并打印出每个文件的路径。

import glob

# 目标文件夹路径
folder_path = "path/to/folder"

# 使用 glob.glob() 遍历目标文件夹下的所有文件
for file_path in glob.glob(folder_path + "/**", recursive=True):
    if os.path.isfile(file_path):
        print(file_path)

上述代码中,glob.glob()函数的第一个参数是通配符模式,可以使用**来表示任意层级的文件夹和文件。recursive=True表示递归遍历子文件夹。

甘特图

甘特图是一种展示项目进度的图表,能够清晰地显示每个任务的开始时间和结束时间。以下是一个使用 mermaid 语法绘制的简单甘特图示例:

gantt
    dateFormat  YYYY-MM-DD
    title 文件遍历进度

    section 遍历文件夹
    遍历文件夹     :active, 2022-01-01, 7d

    section 处理文件
    处理文件     :2022-01-04, 3d
    处理文件     :2022-01-08, 2d
    处理文件     :2022-01-12, 5d

上述甘特图展示了一个文件遍历的进度,其中包括了遍历文件夹和处理文件两个阶段。每个阶段都有指定的开始时间和持续时间。

序列图

序列图是一种展示对象之间交互的图表,能够清晰地显示方法的调用顺序和参数传递。以下是一个使用 mermaid 语法绘制的简单序列图示例:

sequenceDiagram
    participant 用户
    participant Python 脚本
    participant 文件操作模块

    用户 ->> Python 脚本: 指定目标文件夹
    activate Python 脚本

    Python 脚本 ->> 文件操作模块: 遍历文件夹
    activate 文件操作模块

    文件操作模块 ->> 文件操作模块: 处理文件

    文件操作模块 ->> Python 脚本: 返回文件路径