Задание 12. Файловая система: количество и объём файлов — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 12. Файловая система: количество и объём файлов — теория и разбор
В отличие от задания 11, здесь не нужно ничего читать внутри файлов — только считать сами файлы по маске имени и складывать их размеры.
Что нужно знать
Маска — это шаблон имени файла с двумя специальными символами:
*— любая последовательность символов (в том числе пустая);?— ровно один произвольный символ.
Маска *.docx находит все файлы с расширением .docx, независимо от того, как называется файл до точки.
Информационный объём переводится между единицами по степеням двойки, а не десяти:
1 КБ = 1024 байт, 1 МБ = 1024 КБ, 1 ГБ = 1024 МБ.
При подсчёте суммарного объёма группы файлов складываются размеры именно ТЕХ файлов, что подошли под маску — остальные файлы в папке (даже если их видно в списке) в сумму не входят.
Правило перевода: чтобы получить килобайты из байтов, делить на 1024 (а не на 1000) — и так для каждого следующего уровня (МБ, ГБ).
Разбор примера
В архиве «Отчёты» находятся файлы (размер указан в байтах):
| Файл | Размер, байт |
|---|---|
| otchet1.docx | 20480 |
| otchet2.docx | 30720 |
| smeta.xlsx | 15360 |
| plan.docx | 10240 |
| foto.jpg | 51200 |
| notes.txt | 2048 |
| draft.docx | 40960 |
Сколько файлов с расширением .docx содержится в архиве и каков их суммарный информационный объём в килобайтах?
Как думать. Сначала отбираем только файлы, подходящие под маску *.docx, игнорируя остальные расширения, затем складываем их размеры и переводим сумму в килобайты делением на 1024.
Показать решение и ответ
Под маску *.docx подходят четыре файла: otchet1.docx, otchet2.docx, plan.docx, draft.docx. Остальные (smeta.xlsx, foto.jpg, notes.txt) не подходят — у них другие расширения.
Суммарный размер: 20480 + 30720 + 10240 + 40960 = 102400 байт.
Переводим в килобайты: 102400 ÷ 1024 = 100 КБ.
Ответ: 4 файла, 100 КБ
Как решить в Python
files = {
'otchet1.docx': 20480, 'otchet2.docx': 30720, 'smeta.xlsx': 15360,
'plan.docx': 10240, 'foto.jpg': 51200, 'notes.txt': 2048, 'draft.docx': 40960,
}
docx_files = {name: size for name, size in files.items() if name.endswith('.docx')}
print('Количество:', len(docx_files)) # 4
print('Объём (байт):', sum(docx_files.values())) # 102400
print('Объём (КБ):', sum(docx_files.values()) / 1024) # 100.0
Похожие материалы
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.
Задание 15. Алгоритм для исполнителя Робот — теория и разбор
Команды Робота, циклы «пока свободно» и алгоритм, работающий для поля любого размера — разбор примера и проверка в Python.
Задание 14. Обработка данных в электронной таблице — теория и разбор
СЧЁТЕСЛИ, СУММЕСЛИ и круговая диаграмма для большого массива данных — разбор примера и проверка в Python.
Задание 13.2. Создание текстового документа — теория и разбор
13.2 Текстовый документ
Критерии оценивания текста и таблицы по образцу: отступы, выравнивание, формат файла — разбор примера и чек-лист.
Задание 13.1. Создание презентации — теория и разбор
13.1 Презентация
Критерии оценивания презентации из 3 слайдов: структура, шрифт, изображения, формат файла — разбор примера и чек-лист.
Задание 11. Поиск информации в файлах и каталогах — теория и разбор
Двухшаговая техника поиска: найти файл среди папок, затем найти фразу внутри файла — разбор примера и проверка в Python.