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 脚本: 返回文件路径