参考学习
os.listdir(path)
# _*_coding:utf-8
import os
def get_file(root_path,suffix):
for dir_name in os.listdir(root_path):
exts = suffix.split(' ')
#获取目录或文件的路径
file_path = os.path.join(root_path,dir_name)
#判断路径为文件还是路径
if os.path.isdir(file_path):
#递归获取所有文件和目录的路径
file.write(file_path + '\n')
# print(file_path)
get_file(file_path,suffix)
else:
for ext in exts:
#根据后缀名判断文件类别
if(dir_name.endswith(ext)):
# print(dir_name)
file.write(dir_name + '\n')
break
if __name__ == "__main__":
root_path = r'D:\0数据任务'
suffix = '.jpg .jpeg'
outfile = r"C:\Users\Desktop\list_dir.txt"
file = open(outfile,'w')
get_file(root_path,suffix)
file.close()
参考学习1
参考学习2
walk()函数返回目录树生成器(迭代器)。通过自顶向下遍历目录来生成目录树中的文件名。对于根目录顶部(包括顶部本身)树中的每个目录,它产生一个3元组(dirpath,dirnames,filenames)。
但列表中的名称不包含路径,要得到一个完整路径(从顶部开始)到dirpath中的文件或目录,请执行os.path.join(dirpath,name)。更多详情可查看 python 标准库文档(os.walk) 。
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
# _*_coding:utf-8
import os
def get_file(root_path,suffix):
exts = suffix.split(" ")
for root, dirs, files in os.walk(root_path):
for name in files:
for ext in exts:
if(name.endswith(ext)):
file.write(name + "\n")
break
if __name__ == "__main__":
root_path = r'D:\0数据任务'
suffix = '.jpg .jpeg'
outfile = r"C:\Users\Desktop\list_dir.txt"
file = open(outfile,'w')
get_file(root_path,suffix)
file.close()