Python读取文件夹以及文件夹下所有的文件名
1. 引言
在进行文件处理时,有时候我们需要读取一个文件夹下的所有文件名。Python提供了各种方法来实现这个目标。本文将介绍几种常用的方法来读取文件夹及其下的所有文件名,并给出相应的示例代码。
2. 使用os模块
os模块是Python中用于与操作系统交互的一个模块,其中提供了许多与文件和目录相关的功能。我们可以使用os模块中的函数来读取文件夹和文件的列表。
下面是一个简单的示例,演示了如何使用os模块读取文件夹下的所有文件名:
在上述代码中,我们定义了一个get_files_in_folder
函数,接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先创建一个空列表file_names
,然后利用os.listdir
函数获取文件夹中的所有文件名。对于每个文件名,我们使用os.path.join
函数构建完整的文件路径,然后通过os.path.isfile
函数判断其是否为文件。如果是文件,则将文件名添加到file_names
列表中。最后,函数返回file_names
列表。
下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents
下的所有文件名:
示例输出:
file1.txt
file2.pdf
file3.docx
3. 使用pathlib模块
pathlib模块是Python 3.4引入的一个模块,用于处理文件路径。它提供了一种更简洁的方式来操作文件和目录路径。我们可以使用pathlib模块来读取文件夹和文件的列表。
下面是一个使用pathlib模块读取文件夹下所有文件名的示例代码:
在上述代码中,我们首先导入了Path
类,然后定义了一个get_files_in_folder
函数,与之前的示例类似。函数接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先创建一个空列表file_names
,然后利用Path
类创建一个Path对象。我们使用Path.iterdir()
方法遍历文件夹中的所有文件和子文件夹,对于每个文件,使用File.is_file()
方法判断其是否为文件。如果是文件,则将文件名添加到file_names
列表中。最后,函数返回file_names
列表。
下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents
下的所有文件名:
示例输出:
file1.txt
file2.pdf
file3.docx
4. 使用glob模块
glob模块是Python中的一个标准模块,用于根据特定的模式匹配文件路径。我们可以使用glob模块通过指定模式来获取文件夹下符合条件的文件名。
下面是一个使用glob模块读取文件夹下所有文件名的示例代码:
在上述代码中,我们首先导入了glob
模块,然后定义了一个get_files_in_folder
函数,接受一个文件夹路径参数,并返回该文件夹下的所有文件名。函数首先使用folder_path
和*
构建一个文件夹路径模式,然后使用glob.glob
函数获取符合该模式的文件名列表。最后,函数返回该文件名列表。
下面是一个示例,演示了如何使用上述函数来读取文件夹/home/user/documents
下的所有文件名:
示例输出:
/home/user/documents/file1.txt
/home/user/documents/file2.pdf
/home/user/documents/file3.docx
5. 总结
本文介绍了三种常用的方法来读取文件夹及其下的所有文件名,包括使用os模块、pathlib模块和glob模块。通过掌握这些方法,我们可以轻松地读取和处理文件夹中的所有文件名,从而进行后续的文件处理工作。