Python获取文件夹下所有文件
在日常开发中,我们经常会遇到需要读取某个文件夹下所有文件的情况。Python作为一种强大的编程语言,提供了多种方法来实现这个目标。本文将介绍如何使用Python获取文件夹下所有文件的方法,包括使用os模块、glob模块和递归方式获取文件夹下所有文件。
使用os模块获取文件夹下所有文件
os模块是Python的标准库之一,提供了丰富的文件操作功能。通过os模块,我们可以轻松地获取文件夹下所有文件的路径。下面是一个使用os模块获取文件夹下所有文件路径的示例代码:
import os
folder_path = '/path/to/your/folder'
files = os.listdir(folder_path)
for file in files:
file_path = os.path.join(folder_path, file)
print(file_path)
上面的代码中,首先指定了目标文件夹的路径folder_path
,然后使用os.listdir
方法获取该文件夹下所有文件的文件名列表,再通过os.path.join
方法将文件夹路径和文件名拼接成完整的文件路径,最后打印出所有文件路径。运行上述代码,可以得到如下结果:
/path/to/your/folder/file1.txt
/path/to/your/folder/file2.txt
/path/to/your/folder/file3.txt
...
使用glob模块获取文件夹下所有文件
glob模块提供了一个函数glob.glob()
,可以用来查找符合指定规则的文件路径。下面是一个使用glob模块获取文件夹下所有文件路径的示例代码:
import glob
folder_path = '/path/to/your/folder'
file_paths = glob.glob(folder_path + '/*')
for file_path in file_paths:
print(file_path)
在上面的代码中,首先使用glob.glob()
方法获取文件夹下所有文件路径的列表file_paths
,然后遍历该列表打印出所有文件路径。运行上述代码,可以得到类似如下结果:
/path/to/your/folder/file1.txt
/path/to/your/folder/file2.txt
/path/to/your/folder/file3.txt
...
使用递归方式获取文件夹下所有文件
除了上述方法外,我们还可以使用递归方式获取文件夹下所有文件。递归是一种在函数调用过程中直接或间接调用自身的方法。下面是一个使用递归方式获取文件夹下所有文件路径的示例代码:
import os
def get_all_files(folder_path):
files = []
for root, dirs, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(root, filename)
files.append(file_path)
return files
folder_path = '/path/to/your/folder'
file_paths = get_all_files(folder_path)
for file_path in file_paths:
print(file_path)
在上面的代码中,我们定义了一个名为get_all_files()
的函数,该函数通过os.walk()
方法递归遍历文件夹路径下所有文件,并将文件路径添加到files
列表中。最后打印出所有文件路径。运行上述代码,可以得到类似如下结果:
/path/to/your/folder/file1.txt
/path/to/your/folder/file2.txt
/path/to/your/folder/file3.txt
...
通过以上三种方法,我们可以方便地获取文件夹下所有文件的路径,灵活运用这些方法可以提高我们在开发中的效率和便利性。