Python 获取目录下文件列表
1. 引言
在进行文件操作的过程中,常常需要获取某个目录下的文件列表。例如,我们可能需要遍历某个文件夹中的所有文件,或者查找符合特定条件的文件。Python 提供了多种方法来获取目录下的文件列表,本文将详细介绍这些方法,并给出相应的示例代码。
2. 使用 os
模块获取文件列表
Python 的内置模块 os
提供了一些方法来获取文件系统中的信息,包括获取目录下文件列表。我们可以使用 os.listdir()
方法来获取指定目录下的所有文件和文件夹的名称。
以下是一个使用示例:
运行结果类似如下:
['file1.txt', 'file2.py', 'subdirectory']
通过使用 os.listdir()
方法,我们可以轻松地获取目录下的文件列表。
3. 使用 glob
模块获取文件列表
Python 的第三方库 glob
提供了一个更简单的方法来获取文件列表,支持使用通配符进行模式匹配。我们可以使用 glob.glob()
方法来获取符合指定模式的文件列表。
以下是一个使用示例:
运行结果类似如下:
['path/to/directory/file1.txt', 'path/to/directory/file2.py']
通过使用 glob.glob()
方法,我们可以方便地获取符合特定模式的文件列表。
4. 使用 pathlib
模块获取文件列表
Python 3.4+ 引入了 pathlib
模块,它提供了一种面向对象的路径操作方式。我们可以使用 pathlib.Path
类来获取目录下的文件列表,并进行更多的路径操作。
以下是一个使用示例:
运行结果类似如下:
['path/to/directory/file1.txt', 'path/to/directory/file2.py']
通过使用 pathlib.Path
类,我们可以更加灵活地进行路径操作,并获取目录下的文件列表。
5. 遍历子目录获取文件列表
如果要获取某个目录下所有子目录中的文件列表,我们可以使用递归的方式来实现。下面是一个使用递归方法获取目录下文件列表的示例代码:
以下是一个使用示例:
运行结果类似如下:
['path/to/directory/file1.txt', 'path/to/directory/subdirectory/file2.py']
通过使用递归的方式,我们可以获取指定目录下所有子目录中的文件列表。
6. 文件筛选
有时候,我们需要获取符合特定条件的文件列表,例如按文件扩展名筛选文件。我们可以通过在获取文件列表后,对其进行筛选来实现。
以下是一个示例代码,用于获取目录下所有的 .txt
文件:
以下是一个使用示例:
运行结果类似如下:
['file1.txt', 'file2.txt']
通过筛选文件列表,我们可以获取到符合特定条件的文件列表。
7. 总结
本文介绍了使用 Python 获取目录下文件列表的多种方法。我们可以使用 os
模块的 os.listdir()
方法、glob
模块的 glob.glob()
方法、pathlib
模块的 pathlib.Path
类、以及递归的方式来实现。另外,我们还介绍了如何对文件列表进行筛选,获取符合特定条件的文件列表。