準備深度學習的訓練數據時,可能會用到將圖片文件名保存到txt文件中,因此用python實現了該功能。輸入參數只設了兩個,圖片存放路徑,和輸出的txt文件名。python
代碼裏寫死了只識別.jpg格式,並不進行目錄遞歸,有須要能夠進行修改。
使用示例:
python files2txt.py --dir dirname --outfile txtname學習
#files2txt.py import os,sys import argparse def parse_args(): """ Parse input arguments """ parser = argparse.ArgumentParser(description='put files name into txt') parser.add_argument('--dir', dest='directory', help='dir contains files', default=None, type=str) parser.add_argument('--outfile', dest='outfile', help='file to store names', default="img_name.txt", type=str) if len(sys.argv) == 1: parser.print_help() sys.exit(1) args = parser.parse_args() return args def ListFilesToTxt(dir,file,type,recursion): files = os.listdir(dir) for name in files: print(name) fullname=os.path.join(dir,name) if os.path.isdir(fullname):
if recursion: ListFilesToTxt(fullname,file,type,recursion) else: filename,ext = os.path.splitext(name) if(ext == type): file.write(filename + "\n") return if __name__ == '__main__': args = parse_args() if args.directory is not None: file = open(args.outfile,"w+") #只獲取.jpg格式文件,最後一個參數0表示不做目錄遞歸,1表示遞歸 ListFilesToTxt(args.directory,file,".jpg",0) file.close() else: print("dir is None")