您的位置:

使用os.listdir列出文件目录

引言

在编写代码的过程中,有时需要获取指定文件夹下所有文件或文件夹的名称,并将它们展示出来。在Python语言中,使用os模块的listdir()函数可以快速获取指定文件夹中的文件或文件夹列表。

正文

一、os.listdir函数概述

os.listdir()函数是Python内置的一个用于获取指定文件夹下所有文件或文件夹名称的函数,它的语法格式如下:

dir = os.listdir(path)

其中,path参数指定需要获取文件列表的文件夹路径,dir是获取到的目录列表。


二、获取当前目录下所有文件及文件夹

在演示os.listdir()函数之前,我们需要先了解获取当前目录的代码。获取当前目录,可使用os.getcwd()函数,代码如下:

import os
#获取当前目录
current_directory = os.getcwd()
#输出当前目录
print("当前目录为:", current_directory)

输出结果如下:

当前目录为: /Users/user_name/Documents

如需获取当前目录下的文件及文件夹名称列表,可使用listdir()函数获取,代码如下:

import os
#获取当前目录
current_directory = os.getcwd()
#获取当前目录下的文件及文件夹名称列表
folder_list = os.listdir(current_directory)
#输出文件及文件夹名称列表
print("当前目录下的文件及文件夹名称列表:")
for folder in folder_list:
    print(folder)

输出结果如下:

当前目录下的文件及文件夹名称列表:
file1.txt
file2.txt
folder1
folder2

三、获取指定路径下的所有文件及文件夹

除了获取当前目录下的文件及文件夹,还可以通过指定路径获取指定路径下的所有文件及文件夹的名称列表。下面是演示代码:

import os
#指定路径
path = "/Users/user_name/Documents/folder1"
#获取指定路径下的文件及文件夹名称列表
folder_list = os.listdir(path)
#输出文件及文件夹名称列表
print("指定路径下的文件及文件夹名称列表:")
for folder in folder_list:
    print(folder)

输出结果如下:

指定路径下的文件及文件夹名称列表:
file3.txt
folder3
file4.txt

四、使用os.path.join()拼接路径

在操作文件时,往往需要将目录和文件名拼接成完整的路径,此时可以使用os.path.join()函数实现路径拼接。os.path.join()函数使用方式如下:

import os
#拼接路径
path = os.path.join('/Users/user_name/Documents', 'file1.txt')
#输出拼接后的路径
print(path)

输出结果如下:

/Users/user_name/Documents/file1.txt

在上面的例子中,os.path.join()将两个路径字符串拼接并自动为系统选择正确的路径分隔符。

五、在Windows中使用os.listdir

在Windows系统中,os.listdir()函数返回的文件名是带有反斜杠(\)的字符串。如果需要使用这些文件名,需要对反斜杠进行转义。

下面是在Windows环境下使用os.listdir()函数的演示代码:

import os
#设置路径
path = "D:\my_folder"
#获取文件名列表
folder_list = os.listdir(path)
#输出文件及文件夹名称列表
print("当前目录下的文件及文件夹名称列表:")
for folder in folder_list:
    #替换路径分隔符
    folder = folder.replace("\\", "/")
    print(folder)

总结

使用os.listdir()函数轻松获取指定路径下的所有文件及文件夹名称列表。在操作文件时,使用os.path.join()函数可以实现路径拼接,避免手动输入路径分隔符的问题。需要注意的是,在Windows中使用os.listdir()函数时需要对文件名进行反斜杠转义。