Python读取文件夹以及文件夹下所有的文件名

Python读取文件夹以及文件夹下所有的文件名

Python读取文件夹以及文件夹下所有的文件名

1. 引言

在进行文件处理时,有时候我们需要读取一个文件夹下的所有文件名。Python提供了各种方法来实现这个目标。本文将介绍几种常用的方法来读取文件夹及其下的所有文件名,并给出相应的示例代码。

2. 使用os模块

os模块是Python中用于与操作系统交互的一个模块,其中提供了许多与文件和目录相关的功能。我们可以使用os模块中的函数来读取文件夹和文件的列表。

下面是一个简单的示例,演示了如何使用os模块读取文件夹下的所有文件名:

import os

def get_files_in_folder(folder_path):
    file_names = []

    # 遍历文件夹中的所有文件名
    for filename in os.listdir(folder_path):
        # 获取完整文件路径
        file_path = os.path.join(folder_path, filename)
        # 如果是文件,则将文件名添加到列表中
        if os.path.isfile(file_path):
            file_names.append(filename)

    return file_names
Python

在上述代码中,我们定义了一个get_files_in_folder函数,接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先创建一个空列表file_names,然后利用os.listdir函数获取文件夹中的所有文件名。对于每个文件名,我们使用os.path.join函数构建完整的文件路径,然后通过os.path.isfile函数判断其是否为文件。如果是文件,则将文件名添加到file_names列表中。最后,函数返回file_names列表。

下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents下的所有文件名:

folder_path = '/home/user/documents'
files = get_files_in_folder(folder_path)

for file in files:
    print(file)
Python

示例输出:

file1.txt
file2.pdf
file3.docx

3. 使用pathlib模块

pathlib模块是Python 3.4引入的一个模块,用于处理文件路径。它提供了一种更简洁的方式来操作文件和目录路径。我们可以使用pathlib模块来读取文件夹和文件的列表。

下面是一个使用pathlib模块读取文件夹下所有文件名的示例代码:

from pathlib import Path

def get_files_in_folder(folder_path):
    file_names = []

    # 创建Path对象
    folder = Path(folder_path)

    # 遍历文件夹中的所有文件名
    for file in folder.iterdir():
        # 如果是文件,则将文件名添加到列表中
        if file.is_file():
            file_names.append(file.name)

    return file_names
Python

在上述代码中,我们首先导入了Path类,然后定义了一个get_files_in_folder函数,与之前的示例类似。函数接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先创建一个空列表file_names,然后利用Path类创建一个Path对象。我们使用Path.iterdir()方法遍历文件夹中的所有文件和子文件夹,对于每个文件,使用File.is_file()方法判断其是否为文件。如果是文件,则将文件名添加到file_names列表中。最后,函数返回file_names列表。

下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents下的所有文件名:

folder_path = '/home/user/documents'
files = get_files_in_folder(folder_path)

for file in files:
    print(file)
Python

示例输出:

file1.txt
file2.pdf
file3.docx

4. 使用glob模块

glob模块是Python中的一个标准模块,用于根据特定的模式匹配文件路径。我们可以使用glob模块通过指定模式来获取文件夹下符合条件的文件名。

下面是一个使用glob模块读取文件夹下所有文件名的示例代码:

import glob

def get_files_in_folder(folder_path):
    # 构建文件夹路径模式
    pattern = folder_path + '/*'
    # 获取文件夹下所有文件名
    file_names = glob.glob(pattern)

    return file_names
Python

在上述代码中,我们首先导入了glob模块,然后定义了一个get_files_in_folder函数,接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先使用folder_path*构建一个文件夹路径模式,然后使用glob.glob函数获取符合该模式的文件名列表。最后,函数返回该文件名列表。

下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents下的所有文件名:

folder_path = '/home/user/documents'
files = get_files_in_folder(folder_path)

for file in files:
    print(file)
Python

示例输出:

/home/user/documents/file1.txt
/home/user/documents/file2.pdf
/home/user/documents/file3.docx

5. 总结

本文介绍了三种常用的方法来读取文件夹及其下的所有文件名,包括使用os模块、pathlib模块和glob模块。通过掌握这些方法,我们可以轻松地读取和处理文件夹中的所有文件名,从而进行后续的文件处理工作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册