Как посчитать количество объектов (файлов и папок) в папке?
Имееется ввиду использование класса Path() , но не обязательно.
Вот такое решение мне кажется громоздким. Нет ли чего-то изящнее?
Задача решалась 100500 раз, видно плохо гуглил.
from pathlib import Path folder_name = input("folder name:") folder = Path(folder_name) if folder.is_dir(): folder_count = len([1 for file in folder.iterdir()]) print(f"В папке есть объектов")
Отслеживать
51.6k 204 204 золотых знака 67 67 серебряных знаков 251 251 бронзовый знак
Подсчет количества файлов в папке в Linux
Вот несколько способов подсчитать количество файлов в каталоге в командной строке Linux.
Мы предполагаем, что вы знаете о команде wc для подсчета количества строк. Мы можем использовать ту же команду wc с командой ls для подсчета количества файлов в каталоге.
Эта задача кажется простой, но вскоре может стать немного сложной, в зависимости от ваших потребностей и определения количества файлов. Прежде чем мы вас запутаем, давайте рассмотрим различные варианты подсчета количества файлов в Linux.
Подсчитать количество файлов в каталоге в Linux
Позвольте нам сначала показать вам содержимое тестового каталога, который я собираюсь использовать в этой статье:
daniilak:~/tutorials$ ls -la total 64 drwxr-xr-x 4 destroyer destroyer 4096 Apr 29 17:53 . drwxr-xr-x 55 destroyer destroyer 4096 Apr 29 15:50 .. -rwxr–r– 1 destroyer destroyer 456 Mar 6 16:21 agatha.txt -rw-r–r– 1 destroyer destroyer 0 Apr 16 19:53 .a.t -rwxr–r– 1 destroyer destroyer 140 Mar 22 16:41 bash_script.sh -rw-rw-r– 1 destroyer destroyer 95 Feb 11 13:12 cpluplus.cpp -rw-r–r– 1 destroyer destroyer 1778 Apr 29 16:16 my_zip_folder.zip drwxr-xr-x 4 destroyer destroyer 4096 Apr 19 19:07 newdir -rw-r–r– 1 destroyer destroyer 163 Apr 13 15:07 prog.py -rw-r–r– 1 destroyer destroyer 19183 Mar 18 18:46 services -rw-r–r– 1 destroyer destroyer 356 Dec 11 21:35 sherlock.txt -rwxrw-r– 1 destroyer destroyer 72 Jan 21 15:44 sleep.sh drwxr-xr-x 3 destroyer destroyer 4096 Jan 4 20:10 target
Вы можете видеть, что у него есть 9 файлов (включая один скрытый файл) и 2 подкаталога в этом каталоге. Но вам не нужно делать это вручную. Давайте посчитаем количество файлов с помощью команд Linux.
Подсчитать количество файлов и каталогов (без скрытых файлов)
Вы можете просто запустить комбинацию команды ls и wc, и она отобразит количество файлов:
ls | wc -l
daniilak:~/tutorials$ ls | wc -l 10
Есть проблема с этой командой. Он считает все файлы и каталоги в текущих каталогах. Но он не видит скрытые файлы (файлы, имена которых начинаются с точки).
По этой причине приведенная выше команда показала мне количество файлов 10 вместо 11 (9 файлов и 2 каталога).
Подсчитать количество файлов и каталогов, включая скрытые файлы
Вы, наверное, уже знаете, что опция -s команды ls показывает скрытые файлы. Но если вы используете команду ls -a, она также отображает. (существующий каталог) и .. (родительский каталог). Вот почему вам нужно использовать параметр -A, который отображает скрытые файлы, исключая. и .. каталоги.
ls -A | wc -l
Это даст вам правильное количество файлов и каталогов в текущем каталоге. Посмотрите на вывод, который показывает количество 11 (9 файлов и 2 каталога):
daniilak:~/tutorials$ ls -A | wc -l 11
Вы также можете использовать эту команду для достижения того же результата:
ls -1A | wc -l
Обратите внимание, что используется опция 1 (один), а не l (L). Использование опции l (L) отображает дополнительную строку в начале вывода (см. «Всего 64» в выводе каталога в начале статьи). Использование 1 (одного) списка по одному контенту в строке, исключая дополнительную строку. Это дает более точный результат.
Подсчитать количество файлов и каталогов, включая подкаталоги
Пока что вы видите количество файлов и каталогов только в текущем каталоге. Он не учитывает файлы в подкаталогах.
Если вы хотите подсчитать количество файлов и каталогов во всех подкаталогах, вы можете использовать команду дерева.
tree -a
Эта команда показывает структуру каталогов, а затем выводит сводку внизу вывода.
daniilak:~/tutorials$ tree -a . ├── agatha.txt ├── .a.t ├── bash_script.sh ├── cpluplus.cpp ├── my_zip_folder.zip ├── newdir │ ├── new_dir │ │ ├── c.xyz │ │ ├── myzip1.zip │ │ └── myzip2.zip │ └── test_dir │ ├── c.xyz │ ├── myzip1.zip │ └── myzip2.zip ├── prog.py ├── services ├── sherlock.txt ├── sleep.sh └── target ├── agatha.txt ├── file1.txt └── past ├── file1.txt ├── file2.txt └── source1 └── source2 └── file1.txt 7 directories, 19 files
Как вы можете видеть в выводе, это показывает, что всего имеется 7 каталогов и 20 файлов. Хорошая вещь об этом результате – то, что он не считает каталоги в количестве файлов.
Считайте только файлы, а не каталоги
Пока что все решения, которые мы видели для подсчета количества файлов, также учитывают каталоги. Каталоги – это, по сути, файлы, но что если вы хотите считать только количество файлов, а не каталоги? Вы можете использовать замечательную команду поиска .
Вы можете запустить эту команду:
find . -type f | wc -l
Приведенная выше команда провела поиск всех файлов (тип f) в текущем каталоге и его подкаталогах.
daniilak:~/tutorials$ find . -type f | wc -l 20
Подсчитывать только файлы, а не каталоги и только в текущем каталоге, а не в подкаталогах
Это круто! Но что если вы хотите посчитать количество файлов в текущем каталоге, исключая только файлы в подкаталогах? Вы можете использовать ту же команду, что и выше, но с небольшой разницей.
Все, что вам нужно сделать, это добавить «глубину» вашей находки. Если вы установите его на 1, он не будет входить в подкаталоги.
find . -maxdepth 1 -type f | wc -l
Вот вывод сейчас:
daniilak:~/tutorials$ find . -maxdepth 1 -type f | wc -l 9
Вам также может понравиться
Что такое глубокое обучение?
13.10.2021
История науки о данных
29.04.2022
Как посчитать количество файлов в папке?
Windowd 7. Есть папка, в ней много папок, в каждой файлы и еще папки, в которых тоже файлы/папки.. . Ну вы поняли. Как посчитать количество общее количество файлов во всей этой библиотеке? Желательно средствами винды. Вариант «вручную» не принимается, файлов очень много.
Дополнен 11 лет назад
Такое дополнение: в папках разные файлы, считать надо только .jpg.
Лучший ответ
Нажать»проверить на вирусы».Антивирус проверит и заодно пересчитает файлы.
Остальные ответы
кликнуть правой кнопкой мыши по корневой папке, свойства — в конце узнаешь сколько папок и файлов.
rosa marenaМыслитель (6807) 11 лет назад
Подвирает, если файлов очень много 🙁 Проверяли на папке поменьше..
Makros —— Гуру (3000) Ну ребят я не знаю, может быть скрытые системные файлы, вирусы и тп.
ПКМ на папке — свойства.
зайти в папку и нажать комбинацию клавиш ктрл+А (латинская) внизу напишет
Надежда ВикторовнаУченик (167) 6 лет назад
Самый достойный и лучший ответ. Спасибо!
свойства зайди
могу предложить команду dir /d /s
Может wget даёт свою статистику?
Нажимаешь на ярлыке папки Свойста и там увидишь.
Чат выключен!Мастер (1516) 4 года назад
Выделяешь все папки или файлы (если их много). Потом открываешь «Свойства». В окне, в верху количество файлов и папок.
Похожие вопросы
Как узнать, сколько файлов в папке
Более вероятный иметь много папок в ваших документах в Windows 10. По этой причине во многих случаях непросто узнать количество файлов в нем, особенно если у вас все организовано во вложенных папках. Задача провести этот подсчет слишком долгая. Но у нас есть очень простой способ узнать, сколько файлов в нем.
Способ, при котором нам не нужно ничего устанавливать. Значит мы можем знать количество файлов и подпапок в данной папке на нашем компьютере. Это может помочь нам отслеживать использование памяти на компьютере.
На самом деле этот трюк работает для всех пользователей, независимо от установленной вами версии Windows. Таким образом, вы можете увидеть, есть ли в какой-либо папке у вас много файлов и подпапок. Особенно полезно, если у вас есть проблемы с пространством на вашем компьютере.
Что нам нужно сделать, так это перейти в папку, в которой мы хотим хранить эту информацию. Находим его на компьютере, а затем мы щелкаем по нему правой кнопкой мыши. Появляется контекстное меню, где мы должны выбрать опцию свойств, которая является последней в списке.
Свойства указанной папки появятся на экране. Мы можем увидеть информацию о нем, среди которых Получаем количество файлов и подпапок, которые в нем. Таким образом, у нас уже есть эти данные на случай, если нам нужно что-то удалить. Или если мы хотим знать просто из любопытства.
Это хороший способ контроль над количеством файлов, которые мы храним в Windows. Поскольку во многих случаях мы храним слишком много файлов в одной папке, это полезно знать. Как видите, получить его очень просто.
Будьте первым, чтобы комментировать