高效读取几十万文件数据
我们通常在训练模型,或者在清洗数据的时候,会读写大量的数据。那如何快速的读取??
这里使用两个方法:1.递归遍历 2.yeiled生成器
首先需要掌握的知识:os的使用。
os.listDir(path) #list读取路径下的文件名
os.path.isxxx #这里有五个:isfile,isabs,islink,isdir,ismount
我们这里用isfile,isdir
1.递归的方法
"""
Author:x-bessie
Decsription:递归低效读取文本文件
"""
import os,time
def __TraversalDir(Dirpath):
#返回指定目录包含的文件或文件夹的名字的列表
for i,lists in enumerate(os.listdir(Dirpath)):
#待处理的文件夹名字列表
path=os.path.join(Dirpath,lists)
os.path.is
if os.path.isfile(path):
if i%10000==0:
print('{t}*** {i}\t doc has been read'.format(i=i,t=time.strftime('%Y-%m-&d %H:%M:%S',time.localtime())))
if os.path.isdir(path):
TraversalDir(path)
if __name__ == "__main__":
t1=time.time()
Dirpa