您的位置:

Python中os.listdir()函数用法详解

os.listdir()函数是Python中用于获取目录中所有内容(文件和子目录)的函数。该函数返回列表类型,包含目录中所有内容的名称。

一、os.listdir() 函数基本用法

os.listdir() 函数的基本语法如下:

import os
os.listdir(path)

其中,path参数是用来指定需要查找的目录,可以是相对路径或绝对路径。如果不指定路径,则默认返回当前目录的内容。

下面是一个简单示例:

import os
 
# 获取当前目录
path = os.getcwd()
 
# 使用 os.listdir() 获取当前目录中的所有内容
content = os.listdir(path)
 
# 输出目录中所有内容的名称
print(content)

运行结果如下:

['file1.txt', 'file2.txt', 'subdir1', 'subdir2']

以上代码中,首先使用os.getcwd()函数获取当前目录的路径,然后使用os.listdir()函数获取该目录下所有内容的名称,并将结果保存到content变量中。最后使用print()函数输出结果。

二、os.listdir() 函数使用实例

1、查找指定后缀名的文件

以下示例演示如何查找指定后缀名的文件:

import os
 
# 获取当前目录
path = os.getcwd()
 
# 使用 os.listdir() 获取当前目录中的所有内容
content = os.listdir(path)
 
# 查找后缀名为.txt的文件
txt_files = [f for f in content if f.endswith('.txt')]
 
# 输出查找结果
print(txt_files)

输出如下结果:

['file1.txt', 'file2.txt']

在以上代码中,首先使用os.listdir()获取目录中所有内容的名称。然后使用列表推导式搜索所有以“.txt”结尾的文件名,并将结果保存到txt_files变量中。

2、查找所有子目录

以下示例演示如何查找目录中所有子目录:

import os
 
path = os.getcwd()
 
# 使用 os.listdir() 获取当前目录中的所有内容
content = os.listdir(path)
 
# 查找所有目录名称
subdirs = [d for d in content if os.path.isdir(os.path.join(path, d))]
 
# 输出所有目录名称
print(subdirs)

输出如下结果:

['subdir1', 'subdir2']

在以上代码中,首先使用os.listdir()获取目录中所有内容的名称。然后使用列表推导式搜索所有是目录的名称,并将结果保存到subdirs变量中。

3、查找所有文件

以下示例演示如何查找目录中所有文件的名称:

import os
 
path = os.getcwd()
 
# 使用 os.listdir() 获取当前目录中的所有内容
content = os.listdir(path)
 
# 查找所有文件的名称
files = [f for f in content if os.path.isfile(os.path.join(path, f))]
 
# 输出所有文件的名称
print(files)

输出如下结果:

['file1.txt', 'file2.txt']

在以上代码中,首先使用os.listdir()获取目录中所有内容的名称。然后使用列表推导式搜索所有是文件的名称,并将结果保存到files变量中。

总结:

本次文章介绍了Python中os.listdir()函数的用法,通过丰富的示例对该函数进行了详细解释,包括基本用法、查找指定后缀名的文件、查找所有子目录和查找所有文件的名称等。通过学习该函数,我们可以方便地获取目录中的所有文件和子目录,并进行相应操作。