【发布时间】:2017-07-12 22:40:57
【问题描述】:
我有一个使用三个生成器的应用程序。 有多个设备将被分配其中包含的文件目录。
所以,在顶层,我有一个设备列表,我迭代每个设备并在生成器中为它挑选分配的目录。在这个目录生成器中,我再次有一个文件迭代器(文件包含在每个分配的目录中)。
有两个生成器,一个用于目录级别,另一个用于文件级别。
我可以限制我在设备级生成器中返回的文件数量吗?
例如,在第一次迭代中,它应该以循环方式生成 10 个文件。在 10 个项目之后,它应该停止迭代。下一回合,再获取 10 个项目并停止迭代,以此类推,直到完成所有设备的所有目录中的所有项目。
所有生成器都是使用__iter__ 和__next__ 方法用python 编写的。
是否可以限制这些生成器产生的项目数量?
【问题讨论】:
-
可以,这叫做分页。见stackoverflow.com/a/2350904/7154688
标签: python iterator generator next