Python 遍历目录

前言

在开始之前,确保你已经安装了Python 3。本教程将引导您如何使用Python 3编写代码来遍历一个指定的目录及其子目录中的所有文件和文件夹。

环境设置

在开始前,我们先确保已经安装了所需的Python版本。你可以使用以下命令来检查你的Python版本:

python --version

如果系统中没有安装Python 3,请前往官方网站进行下载和安装。

使用os模块遍历目录

Python的标准库提供了一个名为os的模块,它包含了与操作系统交互相关的功能。我们可以利用这个模块来进行目录的遍历。下面是使用os.listdir()方法和os.path.isfile()os.path.isdir()方法遍历目录的基本示例:

import os

def traverse_directory(path):
    for filename in os.listdir(path):
        file_path = os.path.join(path, filename)

        if os.path.isfile(file_path):
            print(f"文件: {filename}")
        elif os.path.isdir(file_path):
            print(f"目录: {filename}")
            traverse_directory(file_path)  # 递归遍历子目录

在这个例子中,traverse_directory()函数接受一个路径作为参数。它使用os.listdir()方法获取指定路径下的所有文件和目录列表,并对每一项进行判断:如果是文件则输出相关信息,如果是目录则继续递归调用traverse_directory()函数。

使用pathlib模块遍历目录

从Python 3.4开始,标准库还提供了一个名为pathlib的模块,它可以更方便地进行文件和目录操作。下面是使用Path.iterdir()Path.is_file()Path.is_dir()方法遍历目录的示例:

from pathlib import Path

def traverse_directory(path):
    for entry in path.iterdir():
        if entry.is_file():
            print(f"文件: {entry.name}")
        elif entry.is_dir():
            print(f"目录: {entry.name}")
            traverse_directory(entry)  # 递归遍历子目录

在这个例子中,我们使用Path()类的实例来表示一个路径。与之前的方法相似,traverse_directory()函数接受一个路径作为参数,并对该路径下的所有文件和目录进行遍历。

总结

本教程介绍了使用Python遍历目录的两种方法:一是使用os模块提供的函数,另一种是使用pathlib模块提供的面向对象的API。无论选择哪种方法,都能够实现对指定目录及其子目录中所有文件和目录的遍历操作。希望本教程对你有帮助!