2017-02-22 38 views
1

У меня есть приложение, в котором я использую три генератора. Существует несколько устройств, которые будут назначены с каталогами файлов в нем.значения предельных генераторов по заданному счету, возвращаемые значения остаточного генератора позже

Так что на верхнем уровне у меня есть список устройств. выполняет итерацию каждого устройства и выбирает выделенные каталоги для него в генераторе. В этом каталоге генератор снова будет иметь итерацию для файлов под каждой выделенной директорией.

Здесь представлены два генератора: один для уровня каталогов, а другой - для уровня файла.

Так что я могу ограничить количество файлов, которые должны возвращаться на генераторе уровня устройства.

Как сказать, на первой итерации он должен дать нам 10 файлов в круговой форме. после 10 элементов, он должен остановить итерацию. В следующий раз снова заберите еще 10 элементов и прекратите итерацию и так далее, пока они не завершат все элементы во всех каталогах для всех устройств.

Все генераторы написаны на Python с использованием ITER и следующие методы.

Можно ли ограничить количество элементов для извлечения в генераторах?

+0

Да, вы можете, это называется разбиение на страницы. См. Http://stackoverflow.com/a/2350904/7154688 – cgte

ответ

1

itertools.islice должен сделать это за вас.

Основываясь на вашей итерации, вы можете предоставить start и stop для этого.

Смежные вопросы