python3.9+windows10环境;
这里举例是ttf和TTF文件写到txt列表中:
import os
# 脚本功能:遍历文件夹中及其子文件夹中的指定文件,并将路径信息写入到指定txt文件中
def get_images_list(images_dir, all_files):
# 首先遍历当前目录所有文件及文件夹
file_list = os.listdir(images_dir)
# 准备循环判断每个元素是否是文件夹还是文件,是文件的话,把名称传入list,是文件夹的话,递归
for file in file_list:
# 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录
cur_path = os.path.join(images_dir, file)
# 判断是否是文件夹
if os.path.isdir(cur_path):
get_images_list(cur_path, all_files)
else:
fileName = images_dir + "\\" + file
all_files.append(fileName)
return all_files
def write_filelist_to_txt(images_root_dir, txtFile):
with open(txtFile, 'w') as W:
# 传入空的list接收文件名
contents = get_images_list(images_root_dir, [])
# 循环打印show_files函数返回的文件名列表
for content in contents:
print(content)
if content[-3:] == 'ttf' or content[-3:] == 'TTF':
W.write(content + '\n')
if __name__ == '__main__':
image_root_dir = r"D:\ttf\cn-date-hw2"
txt_file_name = r"D:\ttf\cn-date-hw2\ttf_list.txt"
write_filelist_to_txt(image_root_dir, txt_file_name)
效果: