Данное задание №12 из ОГЭ по информатике решается достаточно просто и не занимает большого количества времени. Для его решения потребуются базовые знания об архиваторе WinRar и поиске файлов. WinRar — программа, которая помогает помещать файлы в архив (для экономии места), а также открывать файлы, помещённые в архив.
Для большей наглядности попробуем сразу на примере разобраться с тем, как это работает.
Пример
Сколько файлов с расширениями .docx и .doc содержится в подкаталогах каталога Task12? В ответе укажите только число.
Выполните задание, распаковав архив на своём компьютере.
Решение
Обычно в задании просят найти количество файлов с одним и тем же расширением в конкретном каталоге. Но в текущем задании требуют посчитать сразу количество двух типов файлов в архиве. Для начала откроем архив.
После открытия можем заглянуть вовнутрь и посмотреть, сколько там находится каталогов и подкаталогов.
Как можем увидеть по объёму папок, то в каждой из них достаточное количество текстовых файлов. Считать количество определённых файлов можно и вручную, но уйдёт больше времени и шанс ошибиться будет высок.
Поэтому вернёмся в “корень” архива (на один уровень выше). И сразу же воспользуемся поиском. Для этого нажмём сверху на панели инструментов кнопку “Поиск”.
Здесь нас будет интересовать только один параметр поиска — “Искомые имена файлов”. Тут следует немного разобраться. Символ * (звёздочка) означает любое количество символов. Допустим, если нам нужно было найти все файлы с расширением pdf, то мы могли бы записать в наш параметр “.pdf”.
А поскольку вместо звёздочки (*) поисковая система подставляла бы все возможные имена и тем самым нашла бы все файлы. В нашей же ситуации нужно найти и количество файлов с расширением doc и с расширением docx. Для этого нам понадобится следующий поисковый запрос — * .doc*. Поскольку за счёт символа звёздочка мы найдём сразу два типа текстовых документов.
Если нужно было бы искать в конкретном подкаталоге, то нужно было бы перейти в него и там уже применить функцию поиска или же в области поиска указать необходимый подкаталог (путь).
Нажимаем на кнопку “ОК” и видим все наши файлы, соответствующие параметру. Здесь нашлись как и файлы с расширением doc, так и файлы с расширением docx. Также снизу слева можем заметить количество таких файлов (если вдруг их не будет удобно считать).
Нашли пять файлов с данными двумя расширениями, следовательно получили ответ – 5.
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!
Читайте также:
#информатика #огэ #разбор #задания #решение #экзамен
1: rar lb имя_архива
выведет только список файлов (по крайней мере в новых версиях точно)
rar lb имя_архива >out.txt
выведет список файлов в out.txt
2: xcopy …>nul
как у любого консольного приложения если вывод идёт в стандартное устройство вывода – его можно перенаправить. nul – в “никуда” =)
3: Подсчитать число строк в файле (в данном случае число файлов) и вывести их на экран
@echo off
setlocal enabledelayedexpansion
rem Куда будем скидывать список файлов %TEMP% = папка для временных файлов
set outFile = %TEMP%out.txt
rem Выводим список файлов в архиве в файл
rar lb имя_архива > %outFile%
set count=0
rem Цикл по строкам файла
for /F %%i in (%outFile%) do (
echo File : %%i
set /a count=!count!+1
)
echo Total:%count%
rem Удаляем за собой список файлов
del %outFile% >nul
Максим МурыгинПрофи (702)
10 лет назад
Отправка в никуда у xcopy ничего не копирует(
Из рара имена файлов получаю.
А вот с подсчетом так не получится. Используется один лог в который записываются имена скопированных файлов. Потом все архивируется используя лог как список при этом исключая файлы вес которых больше 2х метров.
После этого список за архивированных файлов дописывается в тот же лог.
0 / 0 / 0 Регистрация: 27.01.2012 Сообщений: 79 |
|
1 |
|
Количество файлов и размер во вложенных папках в архиве10.05.2018, 10:34. Показов 7665. Ответов 2
Привет.
0 |
1044 / 528 / 66 Регистрация: 16.01.2013 Сообщений: 4,093 |
|
15.05.2018, 11:30 |
2 |
qazibum, файлы бывают скрытые созданные windows для себя. отобразите скрытые файлы.
0 |
из племени тумба-юбма 2409 / 1739 / 404 Регистрация: 29.11.2015 Сообщений: 8,405 Записей в блоге: 14 |
|
15.05.2018, 21:27 |
3 |
Для более подробной инфы о файлах и папках, вы можете создать отчет. Правда в отчете будет указано общее количество файлов и папок вместе. Выглядеть будет примерно так: Кликните здесь для просмотра всего текста Код # Архив C:UsersAspireM3400DocumentsDocuments.rar 2018-03-18 01:54 0 0 My GamesCrysisShadersCacheShaderList.txt 2017-07-28 21:56 2645 1202 My GamesFar Cry 3GamerProfile.xml 2016-05-21 12:42 28362 1195 My GamesFar Cry 3TutorialProfile.xml 2018-05-15 01:34 3884 1566 My GamesFar Cry 4RLD!GamerProfile.xml 2018-05-15 01:34 8216 917 My GamesFar Cry 4RLD!GFXSettings.FarCry464.xml 2018-05-12 21:48 10 10 My GamesFar Cry 4RLD!HIDInputRemapper.xml 2018-04-16 15:05 2386644 1819224 My GamesFar Cry 5benchmarksbenchmark 2018-04-16_15-05-26result.html 2018-04-16 15:09 2386644 1819215 My GamesFar Cry 5benchmarksbenchmark 2018-04-16_15-09-29result.html 2018-04-22 16:12 2386644 1819223 My GamesFar Cry 5benchmarksbenchmark 2018-04-22_16-12-09result.html 2018-05-11 23:28 0 0 My GamesFar Cry 5check.txt 2018-05-11 23:35 5678 2127 My GamesFar Cry 5gamerprofile.xml 2018-04-15 19:31 141 119 My GamesXCOM - Enemy UnknownXComGameConfigXComCamera.ini 2018-04-15 19:31 20981 3457 My GamesXCOM - Enemy UnknownXComGameConfigXComCompat.ini 2018-04-15 19:32 49724 4824 My GamesXCOM - Enemy UnknownXComGameConfigXComContent.ini 2018-04-15 19:31 162 114 My GamesXCOM - Enemy UnknownXComGameConfigXComDLC.ini 2018-04-15 19:32 89127 17359 My GamesXCOM - Enemy UnknownXComGameConfigXComEngine.ini 2018-04-15 19:31 5209 1891 My GamesXCOM - Enemy UnknownXComGameConfigXComGame.ini 2018-04-15 19:31 16104 2147 My GamesXCOM - Enemy UnknownXComGameConfigXComGameData.ini 2018-04-15 19:31 53888 6764 My GamesXCOM - Enemy UnknownXComGameConfigXComInput.ini 2018-04-15 19:31 6923 2012 My GamesXCOM - Enemy UnknownXComGameConfigXComLightmass.ini 2018-04-15 19:32 34606 3139 My GamesXCOM - Enemy UnknownXComGameConfigXComMaps.ini 2018-04-15 19:31 9466 2140 My GamesXCOM - Enemy UnknownXComGameConfigXComMetaData.ini 2018-04-15 19:31 49469 8965 My GamesXCOM - Enemy UnknownXComGameConfigXComNameList.ini 2018-04-15 19:32 42332 4680 My GamesXCOM - Enemy UnknownXComGameConfigXComNarrative.ini 2018-04-15 19:31 1892 633 My GamesXCOM - Enemy UnknownXComGameConfigXComUI.ini 2018-04-15 19:32 395564 50628 My GamesXCOM - Enemy UnknownXComGameLocalizationINTXComGame.INT 2018-04-15 19:32 327760 86310 My GamesXCOM - Enemy UnknownXComGameLocalizationINTXComStrategyGame.INT 2018-04-15 19:32 16345 4594 My GamesXCOM - Enemy UnknownXComGameLocalizationINTXComUIShell.INT 2018-04-15 19:32 576942 91321 My GamesXCOM - Enemy UnknownXComGameLocalizationRUSXComStrategyGame.RUS 2018-04-15 19:32 33354 6126 My GamesXCOM - Enemy UnknownXComGameLocalizationRUSXComUIShell.RUS 2018-04-15 19:31 144 96 My GamesXCOM - Enemy UnknownXComGameLogsEMSXComDLC.ini 2018-04-15 19:31 16 13 My GamesXCOM - Enemy UnknownXComGameLogsEMSXComGame.RUS 2018-04-15 19:31 55040 2944 My GamesXCOM - Enemy UnknownXComGameLogsEMSXComGameCore.ini 2018-04-15 19:32 44015 7486 My GamesXCOM - Enemy UnknownXComGameLogsLaunch.log 2018-04-15 19:32 1010 982 My GamesXCOM - Enemy UnknownXComGameSaveDataprofile.bin 2018-04-15 20:12 141 119 My GamesXCOM - Enemy WithinXComGameConfigXComCamera.ini 2018-04-15 20:12 20981 3467 My GamesXCOM - Enemy WithinXComGameConfigXComCompat.ini 2018-04-15 20:12 73581 7908 My GamesXCOM - Enemy WithinXComGameConfigXComContent.ini 2018-04-15 22:19 81938 16657 My GamesXCOM - Enemy WithinXComGameConfigXComEngine.ini 2018-04-15 20:12 10577 2986 My GamesXCOM - Enemy WithinXComGameConfigXComGame.ini 2018-04-15 20:12 35145 4647 My GamesXCOM - Enemy WithinXComGameConfigXComGameData.ini 2018-04-15 20:12 80038 8246 My GamesXCOM - Enemy WithinXComGameConfigXComInput.ini 2018-04-15 20:12 6923 2012 My GamesXCOM - Enemy WithinXComGameConfigXComLightmass.ini 2018-04-15 20:12 82707 5003 My GamesXCOM - Enemy WithinXComGameConfigXComMaps.ini 2018-04-15 20:12 10460 2373 My GamesXCOM - Enemy WithinXComGameConfigXComMetaData.ini 2018-04-15 20:12 51109 9249 My GamesXCOM - Enemy WithinXComGameConfigXComNameList.ini 2018-04-15 20:12 62652 6926 My GamesXCOM - Enemy WithinXComGameConfigXComNarrative.ini 2018-04-15 20:12 1892 633 My GamesXCOM - Enemy WithinXComGameConfigXComUI.ini 2018-04-16 13:00 35 35 My GamesXCOM - Enemy WithinXComGameLogsEMSXComGameCore.ini 2018-04-15 20:32 1393261 53666 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.15-22.17.48.log 2018-04-16 00:43 7382723 253236 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.16-00.43.52.log 2018-04-16 01:05 959343 44626 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.16-01.20.04.log 2018-04-16 01:28 541586 24975 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.16-03.00.40.log 2018-04-16 04:31 3491609 129262 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.16-11.29.19.log 2018-04-16 11:38 556795 26323 My GamesXCOM - Enemy WithinXComGameLogsLaunch-backup-2018.04.16-13.00.12.log 2018-04-16 13:10 1194058 39297 My GamesXCOM - Enemy WithinXComGameLogsLaunch.log 2018-04-16 13:10 2433 2264 My GamesXCOM - Enemy WithinXComGameSaveDataprofile.bin 2018-04-16 04:17 912281 442643 My GamesXCOM - Enemy WithinXComGameSaveDatasave1 2018-04-16 11:38 213831 94026 My GamesXCOM - Enemy WithinXComGameSaveDatasave2 2018-04-16 13:10 950812 370070 My GamesXCOM - Enemy WithinXComGameSaveDatasave3 2018-05-12 01:36 336936 336936 CPY_SAVESCPYUPLAY18031.save 2018-05-12 01:36 336936 336936 CPY_SAVESCPYUPLAY18032.save 2018-03-25 08:10 420288 3983 EA GamesDead Space 2ds_slot_01.deadspace2saved 2018-03-25 09:08 420288 22084 EA GamesDead Space 2ds_slot_02.deadspace2saved 2018-03-26 22:15 420288 46061 EA GamesDead Space 2ds_slot_03.deadspace2saved 2018-03-26 23:40 420288 22738 EA GamesDead Space 2ds_slot_04.deadspace2saved 2018-03-27 01:19 420288 52423 EA GamesDead Space 2ds_slot_05.deadspace2saved 2018-03-27 14:38 420288 57009 EA GamesDead Space 2ds_slot_06.deadspace2saved 2018-03-20 21:22 420288 21123 EA GamesDead Space 2ds_slot_07.deadspace2saved 2018-03-21 22:45 420288 33693 EA GamesDead Space 2ds_slot_08.deadspace2saved 2018-03-21 23:47 420288 44113 EA GamesDead Space 2ds_slot_09.deadspace2saved 2018-03-22 03:21 420288 34741 EA GamesDead Space 2ds_slot_10.deadspace2saved 2018-03-22 19:39 420288 57378 EA GamesDead Space 2ds_slot_11.deadspace2saved 2018-03-22 19:46 420288 28878 EA GamesDead Space 2ds_slot_12.deadspace2saved 2018-03-23 00:30 420288 52058 EA GamesDead Space 2ds_slot_13.deadspace2saved 2018-03-23 00:52 420288 34886 EA GamesDead Space 2ds_slot_14.deadspace2saved 2018-03-25 06:50 420288 52233 EA GamesDead Space 2ds_slot_15.deadspace2saved 2018-03-25 06:40 420288 47672 EA GamesDead Space 2ds_slot_16.deadspace2saved 2018-03-25 07:38 420288 62664 EA GamesDead Space 2ds_slot_17.deadspace2saved 2018-04-15 19:32 Папка Папка My GamesXCOM - Enemy UnknownXComGameLocalizationINT 2018-04-15 19:32 Папка Папка My GamesXCOM - Enemy UnknownXComGameLocalizationRUS 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownXComGameLogsEMS 2018-04-15 22:17 Папка Папка My GamesXCOM - Enemy WithinXComGameLogsEMS 2018-03-18 01:54 Папка Папка My GamesCrysisShadersCache 2018-04-16 15:05 Папка Папка My GamesFar Cry 5benchmarksbenchmark 2018-04-16_15-05-26 2018-04-16 15:09 Папка Папка My GamesFar Cry 5benchmarksbenchmark 2018-04-16_15-09-29 2018-04-22 16:12 Папка Папка My GamesFar Cry 5benchmarksbenchmark 2018-04-22_16-12-09 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownBinariesWin32 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownXComGameConfig 2018-04-15 19:32 Папка Папка My GamesXCOM - Enemy UnknownXComGameLocalization 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownXComGameLogs 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownXComGameSaveData 2018-04-15 20:12 Папка Папка My GamesXCOM - Enemy WithinBinariesWin32 2018-04-15 20:12 Папка Папка My GamesXCOM - Enemy WithinXComGameConfig 2018-04-16 13:00 Папка Папка My GamesXCOM - Enemy WithinXComGameLogs 2018-04-15 22:27 Папка Папка My GamesXCOM - Enemy WithinXComGameSaveData 2018-04-16 15:10 Папка Папка CPY_SAVESCPYUPLAY1803 2018-03-18 01:54 Папка Папка My GamesCrysisShaders 2018-05-12 21:48 Папка Папка My GamesFar Cry 4RLD! 2018-04-22 16:12 Папка Папка My GamesFar Cry 5benchmarks 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy UnknownBinaries 2018-04-15 19:32 Папка Папка My GamesXCOM - Enemy UnknownXComGame 2018-04-15 20:12 Папка Папка My GamesXCOM - Enemy WithinBinaries 2018-04-15 20:12 Папка Папка My GamesXCOM - Enemy WithinXComGame 2018-04-16 15:00 Папка Папка CPY_SAVESCPYUPLAY 2018-03-18 01:54 Папка Папка My GamesCrysis 2018-03-18 01:57 Папка Папка My GamesFar Cry 3 2018-05-12 21:35 Папка Папка My GamesFar Cry 4 2018-05-08 21:16 Папка Папка My GamesFar Cry 5 2018-04-15 19:31 Папка Папка My GamesXCOM - Enemy Unknown 2018-04-15 20:12 Папка Папка My GamesXCOM - Enemy Within 2018-04-16 15:00 Папка Папка CPY_SAVESCPY 2018-03-25 07:26 Папка Папка EA GamesDead Space 2 2018-03-23 15:34 Папка Папка Electronic ArtsDead Space 2018-04-29 18:27 Папка Папка MAGIX DownloadsInstallationsmanager 2018-05-12 21:35 Папка Папка My Games 2018-04-16 15:00 Папка Папка CPY_SAVES 2018-03-17 00:39 Папка Папка EA Games 2018-03-23 15:34 Папка Папка Electronic Arts 2018-04-29 18:27 Папка Папка MAGIX Downloads 2018-03-26 17:45 Папка Папка My Cheat Tables # # Всего: Размер Сжат Файлы # 34974620 8671681 121
0 |
02.06.2022
Данное задание №12 из ОГЭ по информатике решается достаточно просто и не занимает большого количества времени. Для его решения потребуются базовые знания об архиваторе WinRar и поиске файлов. WinRar – программа, которая помогает помещать файлы в архив (для экономии места), а также открывать файлы, помещённые в архив.
Для большей наглядности попробуем сразу на примере разобраться с тем, как это работает.
Пример
Сколько файлов с расширениями .docx и .doc содержится в подкаталогах каталога Task12? В ответе укажите только число.
Выполните задание, распаковав архив на своём компьютере.
Решение
Обычно в задании просят найти количество файлов с одним и тем же расширением в конкретном каталоге. Но в текущем задании требуют посчитать сразу количество двух типов файлов в архиве. Для начала откроем архив.
После открытия можем заглянуть вовнутрь и посмотреть, сколько там находится каталогов и подкаталогов.
Как можем увидеть по объёму папок, то в каждой из них достаточное количество текстовых файлов. Считать количество определённых файлов можно и вручную, но уйдёт больше времени и шанс ошибиться будет высок.
Поэтому вернёмся в “корень” архива (на один уровень выше). И сразу же воспользуемся поиском. Для этого нажмём сверху на панели инструментов кнопку “Поиск”.
Здесь нас будет интересовать только один параметр поиска – “Искомые имена файлов”. Тут следует немного разобраться. Символ * (звёздочка) означает любое количество символов. Допустим, если нам нужно было найти все файлы с расширением pdf, то мы могли бы записать в наш параметр “.pdf”. А поскольку вместо звёздочки (*) поисковая система подставляла бы все возможные имена и тем самым нашла бы все файлы. В нашей же ситуации нужно найти и количество файлов с расширением doc и с расширением docx. Для этого нам понадобится следующий поисковый запрос – * .doc*. Поскольку за счёт символа звёздочка мы найдём сразу два типа текстовых документов. Если нужно было бы искать в конкретном подкаталоге, то нужно было бы перейти в него и там уже применить функцию поиска или же в области поиска указать необходимый подкаталог (путь).
Нажимаем на кнопку “ОК” и видим все наши файлы, соответствующие параметру. Здесь нашлись как и файлы с расширением doc, так и файлы с расширением docx. Также снизу слева можем заметить количество таких файлов (если вдруг их не будет удобно считать).
Нашли пять файлов с данными двумя расширениями, следовательно получили ответ – 5.
Вам может понравиться
To count the number of archive members in a zip archive in Python:
#!/usr/bin/env python
import sys
from contextlib import closing
from zipfile import ZipFile
with closing(ZipFile(sys.argv[1])) as archive:
count = len(archive.infolist())
print(count)
It may use zlib
, bz2
, lzma
modules if available, to decompress the archive.
To count the number of regular files in a tar archive:
#!/usr/bin/env python
import sys
import tarfile
with tarfile.open(sys.argv[1]) as archive:
count = sum(1 for member in archive if member.isreg())
print(count)
It may support gzip
, bz2
and lzma
compression depending on version of Python.
You could find a 3rd-party module that would provide a similar functionality for 7z archives.
To get the number of files in an archive using 7z
utility:
import os
import subprocess
def count_files_7z(archive):
s = subprocess.check_output(["7z", "l", archive], env=dict(os.environ, LC_ALL="C"))
return int(re.search(br'(d+)s+files,s+d+s+folders$', s).group(1))
Here’s version that may use less memory if there are many files in the archive:
import os
import re
from subprocess import Popen, PIPE, CalledProcessError
def count_files_7z(archive):
command = ["7z", "l", archive]
p = Popen(command, stdout=PIPE, bufsize=1, env=dict(os.environ, LC_ALL="C"))
with p.stdout:
for line in p.stdout:
if line.startswith(b'Error:'): # found error
error = line + b"".join(p.stdout)
raise CalledProcessError(p.wait(), command, error)
returncode = p.wait()
assert returncode == 0
return int(re.search(br'(d+)s+files,s+d+s+folders', line).group(1))
Example:
import sys
try:
print(count_files_7z(sys.argv[1]))
except CalledProcessError as e:
getattr(sys.stderr, 'buffer', sys.stderr).write(e.output)
sys.exit(e.returncode)
To count the number of lines in the output of a generic subprocess:
from functools import partial
from subprocess import Popen, PIPE, CalledProcessError
p = Popen(command, stdout=PIPE, bufsize=-1)
with p.stdout:
read_chunk = partial(p.stdout.read, 1 << 15)
count = sum(chunk.count(b'n') for chunk in iter(read_chunk, b''))
if p.wait() != 0:
raise CalledProcessError(p.returncode, command)
print(count)
It supports unlimited output.
Could you explain why buffsize=-1 (as opposed to buffsize=1 in your previous answer: stackoverflow.com/a/30984882/281545)
bufsize=-1
means use the default I/O buffer size instead of bufsize=0
(unbuffered) on Python 2. It is a performance boost on Python 2. It is default on the recent Python 3 versions. You might get a short read (lose data) if on some earlier Python 3 versions where bufsize
is not changed to bufsize=-1
.
This answer reads in chunks and therefore the stream is fully buffered for efficiency. The solution you’ve linked is line-oriented. bufsize=1
means “line buffered”. There is minimal difference from bufsize=-1
otherwise.
and also what the read_chunk = partial(p.stdout.read, 1 << 15) buys us ?
It is equivalent to read_chunk = lambda: p.stdout.read(1<<15)
but provides more introspection in general. It is used to implement wc -l
in Python efficiently.