python生成器 获取 目录下文件
Posted 520zm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python生成器 获取 目录下文件相关的知识,希望对你有一定的参考价值。
# os.walk()和os.list 都是得到所有文件的列表, 如果目录下文件特别多, 上亿了, 我们就需要生成器的方式获取
# 要求目录下面没有目录, 会递归到子目录下面找文件, (如果有子目录可以在下面代码基础上做修改)
def gen_file(path, per_file_count): # 目录和一次想要回去的文件数量
i = 0
scandir_it = scandir(path) # 递归获取目录下文件, 返回迭代器
while True:
try:
entry = next(scandir_it) # 回去下一个
except StopIteration: # 取空之后, 会报错
logger.warning(path + "目录下没有文件")
break
if i == per_file_count:
break
i += 1
yield entry.path, entry.name
for path, name in gen_file(path, count): # 参数是一次要获取数量(int)
以上是关于python生成器 获取 目录下文件的主要内容,如果未能解决你的问题,请参考以下文章