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()函数的用法,通过丰富的示例对该函数进行了详细解释,包括基本用法、查找指定后缀名的文件、查找所有子目录和查找所有文件的名称等。通过学习该函数,我们可以方便地获取目录中的所有文件和子目录,并进行相应操作。