Python遍历文件名

简介

在Python编程中,经常需要遍历文件夹中的文件名。这在进行文件处理、数据分析和机器学习等任务中非常常见。Python提供了多种方式来实现文件遍历,这篇文章将介绍其中的一些方法。

os模块

在Python中,可以使用os模块来遍历文件名。os模块提供了一些函数来操作文件和目录。其中,最常用的函数是os.listdir(),它返回指定目录下的所有文件和目录名。

下面是一个示例代码,展示了如何使用os.listdir()来遍历文件名:

import os

def traverse_files(directory):
    for filename in os.listdir(directory):
        if os.path.isfile(os.path.join(directory, filename)):
            print(filename)

# 调用函数遍历当前目录下的所有文件名
traverse_files('.')

在上面的代码中,我们定义了一个名为traverse_files()的函数,它接受一个目录名作为参数。在函数内部,使用os.listdir()函数来获取目录下的所有文件和目录名。然后,使用os.path.isfile()函数来判断是否是文件,如果是文件就打印文件名。

pathlib模块

Python 3.4及以上版本中,引入了pathlib模块,它提供了一种更加面向对象的方式来处理文件和目录。使用pathlib模块,可以更加方便地遍历文件名。

下面是一个示例代码,展示了如何使用pathlib模块来遍历文件名:

from pathlib import Path

def traverse_files(directory):
    path = Path(directory)
    for file in path.iterdir():
        if file.is_file():
            print(file.name)

# 调用函数遍历当前目录下的所有文件名
traverse_files('.')

在上面的代码中,我们使用pathlib模块的Path类来表示目录。通过调用iterdir()方法,可以获取目录下的所有文件和子目录,然后使用is_file()方法判断是否是文件,如果是文件就打印文件名。

glob模块

glob模块提供了一个函数来查找符合特定模式的文件名。通过使用通配符,可以更加灵活地匹配文件名。

下面是一个示例代码,展示了如何使用glob模块来遍历文件名:

import glob

def traverse_files(directory):
    pattern = os.path.join(directory, '*')
    for file in glob.glob(pattern):
        if os.path.isfile(file):
            print(os.path.basename(file))

# 调用函数遍历当前目录下的所有文件名
traverse_files('.')

在上面的代码中,我们首先使用os.path.join()函数来构建通配符的模式。然后,使用glob.glob()函数来获取匹配模式的所有文件名。最后,使用os.path.basename()函数来获取文件的基本名称,并打印文件名。

总结

在Python中,遍历文件名是一项常见的任务。通过使用os模块、pathlib模块和glob模块,可以实现文件遍历的功能。本文介绍了这些模块的基本用法,并提供了相应的代码示例。希望本文能帮助读者更好地理解和应用Python遍历文件名的方法。