<>将指定文件夹下指定格式文件名存储到txt内:
train/test文件夹下有一系列jpg图片,应用如下代码:
# -*- coding: utf-8 -*- #将文件夹中图像的名字放在一个txt文件中 import os def ListFilesToTxt(dir,
file, wildcard, recursion): exts = wildcard.split(" ") files = os.listdir(dir)
for name in files: fullname = os.path.join(dir, name) if (os.path.isdir(fullname
) & recursion): ListFilesToTxt(fullname, file, wildcard, recursion) else: for
extin exts: if (name.endswith(ext)): file.write(name + "\n") break def ReadName(
img_dir,out_file): """将指定文件夹下文件写入到txt内 Args: img_dir : img路径 out_file : 输出txt路径
""" wildcard = ".jpg" # 读取jpg图片 # wildcard = ".jpg .txt .exe .dll .lib"
#要读取的文件类型; file = open(out_file, "w") if not file: print("cannot open the file
%s for writing" % out_file) ListFilesToTxt(img_dir, file, wildcard, 1) file.
close() train_img_dir = "/data/dataset/CatVsDog_Kaggle/train" train_outfile =
"data/train.txt" test_img_dir = "/data/dataset/CatVsDog_Kaggle/test"
test_outfile= "data/test.txt" ReadName(train_img_dir,train_outfile) ReadName(
test_img_dir,test_outfile)
则将其存到train.txt内,内容为:
cat.456.jpg cat.5718.jpg dog.603.jpg dog.4832.jpg cat.2474.jpg dog.7514.jpg
dog.6394.jpg cat.11321.jpg dog.6519.jpg cat.6717.jpg dog.7261.jpg cat.3414.jpg
<>读取Txt文件
f = open('train.txt') img_labels = f.read().split() f.close()