一、获取指定文件夹下的目录和文件的实现
要获取指定文件夹下的目录和文件,可以使用Python内置库os中的os.walk()函数。这个函数可以递归遍历指定的文件夹下的所有目录和文件,并将它们以三元组的形式返回。其中,三元组中的第一个元素代表遍历到的目录路径,第二个元素表示目录下的所有子目录列表,第三个元素表示目录下的所有文件列表。
示例代码:
import os
def get_dirs_files(path):
for root, dirs, files in os.walk(path):
print("当前目录路径:" + root)
print("该目录下的所有子目录:" + str(dirs))
print("该目录下所有非目录子文件:" + str(files))
get_dirs_files("/Users/username/Desktop/test_folder")
二、示例说明
- 获取指定文件夹下所有目录和文件信息并打印输出
假设有一个名为test_folder的文件夹,其中包含了我们想要获取的所有目录和文件信息。我们可以通过调用get_dirs_files函数并传入该文件夹的路径,从而获取该文件夹下所有目录和文件的信息,并将它们打印输出,代码如下:
get_dirs_files("/Users/username/Desktop/test_folder")
运行结果:
当前目录路径:/Users/username/Desktop/test_folder
该目录下的所有子目录:['sub_dir1', 'sub_dir2']
该目录下所有非目录子文件:['file1.txt', 'file2.jpg']
当前目录路径:/Users/username/Desktop/test_folder/sub_dir1
该目录下的所有子目录:[]
该目录下所有非目录子文件:['file3.mp3']
当前目录路径:/Users/username/Desktop/test_folder/sub_dir2
该目录下的所有子目录:['sub_sub_dir']
该目录下所有非目录子文件:['file4.png', 'file5.docx']
当前目录路径:/Users/username/Desktop/test_folder/sub_dir2/sub_sub_dir
该目录下的所有子目录:[]
该目录下所有非目录子文件:['file6.pdf']
这段代码会依次遍历test_folder中的每一个目录和文件,并将它们的信息打印输出。可以看到,针对每个目录和文件,它会输出该目录/文件所在的路径、该目录下的所有子目录以及该目录下所有非目录的子文件。
- 获取指定文件夹下所有.jpg文件的路径
如果我们只是想要获取该文件夹下所有.jpg格式的文件的完整路径,可以在get_dirs_files函数中添加一个判断条件,只输出符合条件的文件路径。代码如下:
def get_jpg_files(path):
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.jpg'):
print(os.path.join(root, file))
get_jpg_files("/Users/username/Desktop/test_folder")
运行结果:
/Users/username/Desktop/test_folder/file2.jpg
/Users/username/Desktop/test_folder/sub_dir2/file4.png
这段代码会遍历test_folder文件夹下所有的文件,如果文件名以'.jpg'结尾,就将该文件的完整路径打印输出。可以看到,该代码只输出了两个符合条件的文件路径,即file2.jpg和sub_dir2下的file4.png,而其余文件的信息则被忽略了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 获取指定文件夹下的目录和文件的实现 - Python技术站