标签:break exce yield top 迭代 try os.walk style 文件的
# os.walk()和os.list 都是得到所有文件的列表, 如果目录下文件特别多, 上亿了, 我们就需要生成器的方式获取
# 直接给上代码
1 from os import scandir 2 def gen_file(path, per_file_count): 3 i = 0 4 scandir_it = scandir(path) # 递归获取目录下文件, 返回迭代器 5 while True: 6 try: 7 entry = next(scandir_it) 8 except StopIteration: 9 logger.warning(PATH + "目录下没有文件") 10 break 11 if i == per_file_count: # 一次想要获取的文件数量 12 break 13 i += 1 14 yield entry.path, entry.name 15 for path, name in gen_file(path, count): # 参数是一次要获取数量(int)
标签:break exce yield top 迭代 try os.walk style 文件的
原文地址:https://www.cnblogs.com/520zm/p/10261469.html