Python遍历文件夹

Python遍历文件夹

Python遍历文件夹

在我们的日常开发工作中,经常会遇到需要遍历文件夹的情况。比如我们需要统计文件夹中的文件数量,或者需要批量处理文件等等。在Python中,有多种方法可以实现文件夹的遍历操作,本文将为大家介绍几种常用的方法。

1. os模块

Python的os模块提供了一系列用于处理操作系统相关的函数。通过os模块,我们可以方便地实现文件夹的遍历操作。

首先,我们需要导入os模块:

import os

1.1 列出文件夹中的所有文件和子文件夹

要列出文件夹中的所有文件和子文件夹,我们可以使用os模块的listdir函数。该函数接受一个文件夹路径作为参数,并返回一个包含该文件夹中所有文件和文件夹的列表。

folder_path = 'path/to/folder'
files = os.listdir(folder_path)

1.2 递归遍历文件夹中的所有文件

要递归遍历文件夹中的所有文件,我们可以使用os模块的walk函数。该函数接受一个文件夹路径作为参数,并返回一个生成器,用于递归遍历文件夹中的所有文件。

folder_path = 'path/to/folder'
for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)

1.3 判断路径是否为文件夹

在遍历文件夹的过程中,我们可能会遇到需要判断某个路径是否为文件夹的情况。我们可以使用os模块的isdir函数来判断一个路径是否为文件夹。

path = 'path/to/folder'
if os.path.isdir(path):
    # 是文件夹
else:
    # 不是文件夹

2. pathlib模块

Python 3.4引入了pathlib模块,用于处理文件路径。相较于os模块,pathlib模块提供了更加面向对象的方式来处理文件和文件夹的路径。

首先,我们需要导入pathlib模块:

from pathlib import Path

2.1 列出文件夹中的所有文件和子文件夹

要列出文件夹中的所有文件和子文件夹,我们可以使用Path对象的iterdir方法。该方法返回一个迭代器,用于列出路径下的所有子路径。

folder_path = Path('path/to/folder')
for path in folder_path.iterdir():
    if path.is_file():
        # 是文件
    elif path.is_dir():
        # 是文件夹

2.2 递归遍历文件夹中的所有文件

要递归遍历文件夹中的所有文件,我们可以使用Path对象的rglob方法。该方法接受一个通配符参数,并返回一个生成器,用于递归遍历文件夹中符合通配符条件的所有文件。

folder_path = Path('path/to/folder')
for path in folder_path.rglob('*'):
    if path.is_file():
        # 是文件

2.3 获取文件夹路径的父级路径

在遍历文件夹的过程中,有时候我们可能需要获取文件夹路径的父级路径。通过Path对象的parent属性,我们可以方便地获取文件夹路径的父级路径。

folder_path = Path('path/to/folder')
parent_path = folder_path.parent

3. glob模块

Python的glob模块提供了一个用于匹配文件路径的函数。该函数使用通配符模式来匹配文件路径,非常简洁方便。

首先,我们需要导入glob模块:

import glob

3.1 列出文件夹中的所有文件

要列出文件夹中的所有文件,我们可以使用glob模块的glob函数。该函数接受一个匹配模式作为参数,并返回符合该匹配模式的所有文件路径的列表。

folder_path = 'path/to/folder'
files = glob.glob(os.path.join(folder_path, '*'))

3.2 递归遍历文件夹中的所有文件

要递归遍历文件夹中的所有文件,我们可以使用glob模块的glob函数配合通配符模式递归匹配文件路径。

folder_path = 'path/to/folder'
files = glob.glob(os.path.join(folder_path, '**', '*'), recursive=True)

3.3 匹配指定文件类型的文件

要匹配指定文件类型的文件,我们可以在匹配模式中添加文件类型的通配符。

folder_path = 'path/to/folder'
files = glob.glob(os.path.join(folder_path, '*.txt'))

总结

本文介绍了Python中三种常用的方法来遍历文件夹,分别是os模块、pathlib模块和glob模块。根据不同的需求和个人喜好,可以选择适合自己的方法来实现文件夹的遍历操作。无论是统计文件数量、批量处理文件,还是其他与文件夹相关的操作,掌握文件夹遍历的方法都能帮助我们更高效地完成工作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程