码迷,mamicode.com
首页 > 编程语言 > 详细

python生成器 获取 目录下文件

时间:2019-01-16 22:48:07      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:需要   log   +=   ext   can   方式   文件的   os.walk   取数   

# 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生成器 获取 目录下文件

标签:需要   log   +=   ext   can   方式   文件的   os.walk   取数   

原文地址:https://www.cnblogs.com/520zm/p/10279661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!