您的位置:

使用Python listdir获取文件列表

在Python编程中,获取文件列表是一个常见的操作。Python的os模块下有一个listdir函数,可以很容易地实现获取指定目录下的所有文件和文件夹列表。本文将详细介绍如何使用Python listdir函数获取文件列表。

一、什么是Python listdir函数

listdir是Python的os模块中的一个函数,用于返回指定目录下的文件和文件夹列表。

语法:

os.listdir(path)

其中,path为要获取文件列表的目录。返回值是一个列表,其中包含了该目录下所有文件和文件夹的名称。

二、如何使用Python listdir函数

1. 获取指定目录下的所有文件和文件夹列表

在Python中使用os模块的listdir函数可以很方便的获取指定目录下的所有文件列表:

import os

path = "C:/Users/Administrator/Desktop"   #指定文件目录

files= os.listdir(path) #得到文件夹下的所有文件名称

for file in files: #遍历文件夹

    print(file) #打印文件名

上述代码中,指定了一个文件目录path,然后使用os模块的listdir函数获取该目录下的所有文件和文件夹的名称,并使用for循环打印每一个文件和文件夹名称。

2. 获取指定目录下的所有文件列表

如果需要获取指定目录下的所有文件列表(不包括子目录),可以使用os模块的path模块下的isfile函数判断是否为文件。更改上面代码如下:

import os

path = "C:/Users/Administrator/Desktop"   #指定文件目录

files= os.listdir(path) #得到文件夹下的所有文件名称

for file in files: #遍历文件夹

    if os.path.isfile(file):  #判断是否是文件
            
        print(file) #打印文件名

上述代码中,使用os模块的path模块下的isfile函数判断是否为文件,如果是文件则打印文件名。

3. 获取指定目录下的所有文件夹列表

如果需要获取指定目录下的所有文件夹列表(不包括子目录),可以使用os模块的path模块下的isdir函数判断是否为文件夹。更改上面代码如下:

import os

path = "C:/Users/Administrator/Desktop"   #指定文件目录

files= os.listdir(path) #得到文件夹下的所有文件名称

for file in files: #遍历文件夹

    if os.path.isdir(file):  #判断是否是文件夹
            
        print(file) #打印文件夹名

上述代码中,使用os模块的path模块下的isdir函数判断是否为文件夹,如果是文件夹则打印文件夹名。

4. 获取指定目录下的所有指定类型的文件列表

如果需要获取指定目录下的所有指定类型的文件列表,可以使用os模块的path模块下的split和extsep函数来获取文件扩展名,判断是否为指定的类型。更改上面代码如下:

import os

path = "C:/Users/Administrator/Desktop"   #指定文件目录
file_extension = ".txt"    #指定文件类型

files= os.listdir(path) #得到文件夹下的所有文件名称

for file in files: #遍历文件夹

    filename, extension = os.path.splitext(file) #分离文件名和扩展名
        
    if extension == file_extension:  #判断是否是指定类型的文件
            
        print(file) #打印文件名

上述代码中,使用os模块的path模块下的split和extsep函数分离文件路径和扩展名,然后判断扩展名是否为指定类型。

三、总结

本文介绍了Python中使用listdir函数获取文件列表的方法。具体包括了如何获取指定目录下的所有文件和文件夹列表,如何获取指定类型的文件列表,以及如何获取指定目录下的所有文件夹列表。

在实际开发中,listdir函数非常实用,可以用于很多文件处理的场景,如遍历文件夹,删除文件,复制文件等。因此,我们建议Python开发者熟练掌握listdir函数的使用方法。