0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В этом уроке мы попрактикуемся еще с одним вариантом агрегации данных на файловых системах.</p>
1
<p>В этом уроке мы попрактикуемся еще с одним вариантом агрегации данных на файловых системах.</p>
2
<h2>Условие задачи</h2>
2
<h2>Условие задачи</h2>
3
<p>Напишем функцию, которая принимает на вход директорию и возвращает:</p>
3
<p>Напишем функцию, которая принимает на вход директорию и возвращает:</p>
4
<ul><li>Список директорий первого уровня вложенности</li>
4
<ul><li>Список директорий первого уровня вложенности</li>
5
<li>Количество файлов внутри каждой из них, включая все поддиректории</li>
5
<li>Количество файлов внутри каждой из них, включая все поддиректории</li>
6
</ul><p>Так это выглядит в коде:</p>
6
</ul><p>Так это выглядит в коде:</p>
7
<h2>Реализация</h2>
7
<h2>Реализация</h2>
8
<p>Внутри себя эта задача распадается на две:</p>
8
<p>Внутри себя эта задача распадается на две:</p>
9
<ul><li>Подсчет количества файлов внутри директории</li>
9
<ul><li>Подсчет количества файлов внутри директории</li>
10
<li>Вызов функции подсчета файлов на каждой из поддиректорий</li>
10
<li>Вызов функции подсчета файлов на каждой из поддиректорий</li>
11
</ul><p>Начнем с подсчета количества файлов. Это классическая задача на агрегацию:</p>
11
</ul><p>Начнем с подсчета количества файлов. Это классическая задача на агрегацию:</p>
12
<p>Следующий шаг - извлечь всех потомков из исходного узла и к каждому из них применить подсчет:</p>
12
<p>Следующий шаг - извлечь всех потомков из исходного узла и к каждому из них применить подсчет:</p>
13
<p>В коде выше мы обратились к потомкам напрямую. Сначала мы отфильтровали их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.</p>
13
<p>В коде выше мы обратились к потомкам напрямую. Сначала мы отфильтровали их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.</p>
14
<h2>Рекомендуемые программы</h2>
14
<h2>Рекомендуемые программы</h2>