欢迎访问宙启技术站
智能推送

如何使用 Python 的 os 库中的 listdir() 函数获取文件夹中的文件列表?

发布时间:2023-05-22 12:12:40

Python 中的 os 库提供了许多操作文件和目录的函数。其中,listdir() 函数是用于获取文件夹中的所有文件和目录列表的函数。本文将详细介绍如何使用 listdir() 函数获取文件夹中的文件列表。

## 1. os.listdir() 函数的介绍

os.listdir() 函数用于获取指定目录下的所有文件和目录列表,返回一个列表。例如,如果我们要获取当前目录下的所有文件和目录列表,可以使用下面的代码:

import os

# 获取当前目录下的所有文件和目录列表
dir_list = os.listdir('.')
print(dir_list)

运行代码后将会输出当前目录下的所有文件和目录列表,例如:

['file1.txt', 'file2.doc', 'dir1', 'dir2']

可以看到,os.listdir() 函数返回一个含有文件和目录名称的列表,其中每个元素为一个字符串。

## 2. 使用 os.listdir() 函数获取文件列表

如果我们想获取某个文件夹中的所有文件列表,可以将该文件夹的路径作为 os.listdir() 函数的参数。例如,如果我们要获取名为 data 的文件夹中的所有文件列表,可以使用下面的代码:

import os

# 获取 data 文件夹中的所有文件列表
dir_list = os.listdir('./data')
print(dir_list)

在代码中,我们将 ./data 作为 os.listdir() 函数的参数,表示我们要获取当前目录下的 data 文件夹中的文件列表。运行代码后,输出结果为:

['data1.txt', 'data2.csv', 'data3.xlsx']

可以看到,os.listdir() 函数返回了 data 文件夹中的所有文件列表。

## 3. 过滤文件类型

有时候我们只关心某种类型的文件,例如只想获取所有的 .txt 文件列表。在这种情况下,我们可以在使用 os.listdir() 函数后对列表进行过滤,只保留符合条件的文件。

下面的代码演示如何获取名为 data 的文件夹中所有的 .txt 文件列表:

import os

# 获取 data 文件夹中的所有 .txt 文件列表
file_list = [file for file in os.listdir('./data') if file.endswith('.txt')]
print(file_list)

在代码中,我们使用了列表推导式来过滤文件类型,只保留以 .txt 结尾的文件。运行代码后,输出结果为:

['data1.txt']

可以看到,只有符合条件的文件 data1.txt 被保留下来了。

## 4. 结语

使用 os.listdir() 函数可以轻松地获取一个文件夹中的所有文件和目录列表。在必要时,可以对列表进行过滤,只保留符合条件的文件。使用 os.listdir() 函数可以大大提高文件处理的效率。