下面是获取文件夹下所有文件的完整攻略以及两条示例说明:
1. 使用os模块遍历文件夹
Python的os模块提供了一种遍历文件夹的方法,可以获取文件夹下所有文件的信息。下面是示例代码:
import os
def get_all_files(path):
file_list = []
for root, dirs, files in os.walk(path):
for file in files:
file_list.append(os.path.join(root, file))
return file_list
这段代码中,os.walk
方法返回三个值:当前遍历到的目录,当前目录下的子目录列表,当前目录下所有文件列表。我们可以通过for循环遍历文件夹下的所有文件,使用os.path.join
方法拼接文件路径,最终将所有文件路径存放到列表中。
2. 使用glob模块遍历文件夹
另一种获取所有文件的方式是使用glob模块,它提供了更加方便的文件匹配方式。它的示例代码如下:
import glob
def get_all_files(path):
return glob.glob(path + '/**', recursive=True)
这段代码中,glob.glob
方法可以匹配指定目录下所有文件和子目录的文件。我们将通配符**
和recursive=True
参数一起使用,可以递归遍历文件夹下所有的文件,并返回一个包含所有文件路径的列表。
示例说明
假设我们有一个文件夹,名为/home/user/documents
,里面包含以下文件和子目录:
/home/user/documents/
├── file1.txt
├── file2.txt
├── sub_dir/
│ ├── file3.txt
│ └── file4.pdf
└── sub_dir2/
├── file5.docx
└── file6.jpg
示例一
如果我们想要获取该文件夹下所有文件的路径信息,我们可以这样做:
path = '/home/user/documents'
all_files = get_all_files(path)
print(all_files)
输出如下:
[
'/home/user/documents/file1.txt',
'/home/user/documents/file2.txt',
'/home/user/documents/sub_dir/file3.txt',
'/home/user/documents/sub_dir/file4.pdf',
'/home/user/documents/sub_dir2/file5.docx',
'/home/user/documents/sub_dir2/file6.jpg'
]
示例二
如果我们只想获取该文件夹下所有txt文件的路径,我们可以使用glob模块进行匹配:
path = '/home/user/documents/*.txt'
txt_files = get_all_files(path)
print(txt_files)
输出如下:
[
'/home/user/documents/file1.txt',
'/home/user/documents/file2.txt',
'/home/user/documents/sub_dir/file3.txt'
]
希望这些示例能够帮助你理解如何利用Python获取文件夹下所有文件的实例代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用Python获取文件夹下所有文件实例代码 - Python技术站