Python操作文件夹:使用os.listdir()函数列出目录中的文件和子文件夹
一、介绍
在Python中,我们常常需要对文件夹进行操作,比如列出文件夹中的文件和子文件夹。Python内置的os模块提供了一些用于文件和目录操作的函数,其中就包括了一个非常常用的函数os.listdir()。本文将详细介绍os.listdir()函数的用法,并通过实例演示其具体应用。
二、os.listdir()函数简介
os.listdir()函数用于返回指定目录中的所有文件和子文件夹的名称列表。它接受一个字符串参数,表示要列出的目录路径。返回值是一个包含所有文件和子文件夹名称的列表。
三、使用os.listdir()函数列出目录中的文件和子文件夹
下面通过几个实例来演示使用os.listdir()函数列出目录中的文件和子文件夹。
示例1:列出文件夹中的所有文件和子文件夹
上述代码中,通过import语句导入了os模块。然后,我们指定了一个目录路径dir_path
,该路径是一个相对路径,表示当前目录下的一个文件夹example_folder
。接下来,我们使用os.listdir()函数来列出dir_path
目录中的所有文件和子文件夹。最后,通过for循环依次打印出文件和子文件夹的名称。
示例2:仅列出文件夹中的文件
有时候我们只关心目录中的文件,而不是子文件夹。可以通过在循环中加入判断条件,只打印文件的名称。
在上述示例代码中,我们加入了一个判断条件,使用os.path.isfile()函数来判断当前遍历到的文件名是否为文件。如果不是文件,就跳过当前的循环,继续下一次遍历。这样做可以仅打印出目录中的文件名称。
示例3:递归列出所有文件和子文件夹
在某些情况下,我们需要递归地列出目录中的所有文件和子文件夹,包括子文件夹中的文件和子文件夹。这可以通过递归调用os.listdir()函数来实现。
在上述示例代码中,我们定义了一个递归函数list_files_recursive()
来实现递归列出文件和子文件夹的功能。在函数内部,我们首先使用os.listdir()函数列出目录中的所有文件和子文件夹。然后,通过判断文件名是否为文件,来决定是打印文件名,还是递归调用自身来处理子文件夹。
四、总结
本文详细介绍了Python中操作文件夹的常用函数os.listdir()的用法,并通过实例演示了如何使用该函数列出目录中的文件和子文件夹。除了os.listdir()函数外,os模块还提供了其他一些文件和目录操作的函数,如os.path.isdir()、os.path.isfile()等。读者在实际开发中可以根据自己的需求选择合适的函数进行操作。
值得注意的是,在使用os.listdir()函数列出文件和子文件夹时,文件和子文件夹的顺序是不确定的,即遍历的顺序是随机的。如果需要按照特定顺序列出文件和子文件夹,可以在遍历前先对文件列表进行排序。