Python操作文件夹:使用os.listdir()函数列出目录中的文件和子文件夹

Python操作文件夹:使用os.listdir()函数列出目录中的文件和子文件夹

Python操作文件夹:使用os.listdir()函数列出目录中的文件和子文件夹

一、介绍

在Python中,我们常常需要对文件夹进行操作,比如列出文件夹中的文件和子文件夹。Python内置的os模块提供了一些用于文件和目录操作的函数,其中就包括了一个非常常用的函数os.listdir()。本文将详细介绍os.listdir()函数的用法,并通过实例演示其具体应用。

二、os.listdir()函数简介

os.listdir()函数用于返回指定目录中的所有文件和子文件夹的名称列表。它接受一个字符串参数,表示要列出的目录路径。返回值是一个包含所有文件和子文件夹名称的列表。

三、使用os.listdir()函数列出目录中的文件和子文件夹

下面通过几个实例来演示使用os.listdir()函数列出目录中的文件和子文件夹。

示例1:列出文件夹中的所有文件和子文件夹

import os

# 指定目录路径
dir_path = './example_folder'

# 使用os.listdir()函数列出目录中的文件和子文件夹
file_list = os.listdir(dir_path)

# 打印文件和子文件夹名称
for file_name in file_list:
    print(file_name)
Python

上述代码中,通过import语句导入了os模块。然后,我们指定了一个目录路径dir_path,该路径是一个相对路径,表示当前目录下的一个文件夹example_folder。接下来,我们使用os.listdir()函数来列出dir_path目录中的所有文件和子文件夹。最后,通过for循环依次打印出文件和子文件夹的名称。

示例2:仅列出文件夹中的文件

有时候我们只关心目录中的文件,而不是子文件夹。可以通过在循环中加入判断条件,只打印文件的名称。

import os

# 指定目录路径
dir_path = './example_folder'

# 使用os.listdir()函数列出目录中的文件和子文件夹
file_list = os.listdir(dir_path)

# 打印文件名称
for file_name in file_list:
    # 判断是否为文件,不是文件则跳过
    if not os.path.isfile(os.path.join(dir_path, file_name)):
        continue
    print(file_name)
Python

在上述示例代码中,我们加入了一个判断条件,使用os.path.isfile()函数来判断当前遍历到的文件名是否为文件。如果不是文件,就跳过当前的循环,继续下一次遍历。这样做可以仅打印出目录中的文件名称。

示例3:递归列出所有文件和子文件夹

在某些情况下,我们需要递归地列出目录中的所有文件和子文件夹,包括子文件夹中的文件和子文件夹。这可以通过递归调用os.listdir()函数来实现。

import os

# 递归列出目录下的所有文件和子文件夹
def list_files_recursive(dir_path):
    # 使用os.listdir()函数列出目录中的文件和子文件夹
    file_list = os.listdir(dir_path)

    # 遍历所有文件和子文件夹
    for file_name in file_list:
        # 构造文件或子文件夹的路径
        path = os.path.join(dir_path, file_name)

        # 判断是否为文件,是文件则打印文件名称
        if os.path.isfile(path):
            print(path)
        # 判断是否为子文件夹,是子文件夹则递归调用list_files_recursive()函数
        elif os.path.isdir(path):
            list_files_recursive(path)

# 指定目录路径
dir_path = './example_folder'

# 调用递归函数列出目录下的所有文件和子文件夹
list_files_recursive(dir_path)
Python

在上述示例代码中,我们定义了一个递归函数list_files_recursive()来实现递归列出文件和子文件夹的功能。在函数内部,我们首先使用os.listdir()函数列出目录中的所有文件和子文件夹。然后,通过判断文件名是否为文件,来决定是打印文件名,还是递归调用自身来处理子文件夹。

四、总结

本文详细介绍了Python中操作文件夹的常用函数os.listdir()的用法,并通过实例演示了如何使用该函数列出目录中的文件和子文件夹。除了os.listdir()函数外,os模块还提供了其他一些文件和目录操作的函数,如os.path.isdir()、os.path.isfile()等。读者在实际开发中可以根据自己的需求选择合适的函数进行操作。

值得注意的是,在使用os.listdir()函数列出文件和子文件夹时,文件和子文件夹的顺序是不确定的,即遍历的顺序是随机的。如果需要按照特定顺序列出文件和子文件夹,可以在遍历前先对文件列表进行排序。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册