Python 获取文件夹下的所有文件名
在日常的开发中,经常会遇到需要获取某个文件夹下的所有文件名的情况。Python作为一门功能强大的编程语言,提供了多种方法来实现这一功能。本文将介绍如何使用Python获取指定文件夹下的所有文件名。
使用os模块
Python的os模块提供了获取文件系统资源的功能,其中的os.listdir()
函数可以用来获取指定文件夹下的所有文件名。
import os
def get_file_names(folder_path):
file_names = os.listdir(folder_path)
return file_names
folder_path = 'path_to_your_folder'
file_names = get_file_names(folder_path)
print(file_names)
代码中,我们首先导入了os模块,然后定义了一个名为get_file_names()
的函数,该函数接受一个文件夹路径作为参数,使用os.listdir()
函数获取该文件夹下的所有文件名,并返回一个包含所有文件名的列表。
接着定义了一个变量folder_path
,用来存放待获取文件名的文件夹路径。然后调用get_file_names()
函数并打印返回的文件名列表。
运行上述代码,将会输出指定文件夹下的所有文件名。请确保将folder_path
替换为目标文件夹的真实路径后再运行代码。
使用os.walk()
除了os.listdir()
函数,Python的os模块还提供了os.walk()
函数,该函数可以递归地遍历指定文件夹下的所有子文件夹和文件。
import os
def get_file_names_recursive(folder_path):
file_names = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_names.append(os.path.join(root, file))
return file_names
folder_path = 'path_to_your_folder'
file_names = get_file_names_recursive(folder_path)
print(file_names)
在上面的代码中,我们定义了一个名为get_file_names_recursive()
的函数,该函数接受一个文件夹路径作为参数。然后使用os.walk()
函数遍历该文件夹下的所有子文件夹和文件,将每个文件的完整路径添加到一个名为file_names
的列表中。最后返回包含所有文件路径的列表。
接着定义了一个变量folder_path
,用来存放待获取文件名的文件夹路径。然后调用get_file_names_recursive()
函数并打印返回的文件路径列表。
运行上述代码,将会输出指定文件夹及其子文件夹下的所有文件路径。同样,请确保将folder_path
替换为目标文件夹的真实路径后再运行代码。
使用glob模块
除了os模块外,Python的glob模块也是一个非常方便的工具,可以用来根据特定的模式匹配文件名。
import glob
def get_file_names_with_glob(folder_path):
file_pattern = folder_path + '/*'
file_names = glob.glob(file_pattern)
return file_names
folder_path = 'path_to_your_folder'
file_names = get_file_names_with_glob(folder_path)
print(file_names)
在上面的代码中,我们首先导入了glob模块,然后定义了一个名为get_file_names_with_glob()
的函数,该函数接受一个文件夹路径作为参数。接着用glob.glob()
函数根据folder_path + '/*'
的形式匹配文件夹下的所有文件,并将结果保存在file_names
列表中。
接着定义了一个变量folder_path
,用来存放待获取文件名的文件夹路径。然后调用get_file_names_with_glob()
函数并打印返回的文件名列表。
运行上述代码,将会输出指定文件夹下的所有文件名。同样,请确保将folder_path
替换为目标文件夹的真实路径后再运行代码。
总结
通过本文的介绍,我们学习了如何使用Python获取指定文件夹下的所有文件名。我们介绍了使用os模块的os.listdir()
和os.walk()
函数,以及使用glob模块的glob.glob()
函数来实现这一功能。根据实际需求选择合适的方法来获取文件名,是提高代码效率的重要一步。