Python listdir详解
在Python中,listdir()是一个非常常用的函数,它用于列出指定目录中的文件和文件夹。在本篇文章中,我们将详细解释listdir()的用法以及一些常见的应用场景。
listdir()函数概述
listdir()函数属于Python的os模块,用于返回指定目录中的文件和文件夹的名称列表。其基本语法如下:
import os
file_list = os.listdir(path)
其中,path为要列出的目录的路径,可以是绝对路径或相对路径。函数将返回一个包含指定目录中文件和文件夹名称的列表。
listdir()函数示例
接下来,让我们通过一个简单的示例来演示listdir()函数的用法。
假设我们有一个名为”testdir”的目录,里面包含了三个文件和一个子目录。我们可以使用listdir()函数列出该目录中的所有内容:
import os
file_list = os.listdir("testdir")
print(file_list)
运行以上代码,将得到如下输出:
['file1.txt', 'file2.txt', 'file3.txt', 'subdir']
这里,file_list列表包含了”testdir”目录中的所有文件和文件夹的名称。
listdir()函数的常见用法
遍历目录中的文件
listdir()函数可以配合for循环实现遍历目录中的所有文件。示例如下:
import os
path = "testdir"
for file_name in os.listdir(path):
if os.path.isfile(os.path.join(path, file_name)):
print("File: ", file_name)
运行以上代码,将输出目录中的所有文件名称。
遍历目录中的子目录
如果要遍历指定目录中的子目录,可以使用os.path.isdir()函数判断是否为文件夹。示例如下:
import os
path = "testdir"
for file_name in os.listdir(path):
if os.path.isdir(os.path.join(path, file_name)):
print("Directory: ", file_name)
运行以上代码,将输出目录中的所有子目录名称。
过滤特定类型的文件
有时候我们需要列出目录中特定类型的文件,可以通过文件名的后缀进行过滤。示例如下:
import os
path = "testdir"
for file_name in os.listdir(path):
if file_name.endswith(".txt"):
print("Text file: ", file_name)
运行以上代码,将只输出目录中以”.txt”结尾的文件名称。
注意事项
使用listdir()函数时,需要注意以下几点:
- 要确保指定的目录存在,否则会抛出FileNotFoundError异常。
-
返回的文件列表仅包含文件和文件夹的名称,不包含完整路径。
-
可以通过os.path.join()函数将文件名与目录路径组合成完整路径。
-
在使用listdir()函数时,建议使用绝对路径以避免出错。
总结
以上就是关于Python listdir()函数的详细解释和常见用法。通过学习listdir()函数,我们可以更方便地列出目录中的文件和文件夹,并实现一些文件操作。