Как посчитать количество объектов (файлов и папок) в папке?
Имееется ввиду использование класса 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 201 201 золотой знак 63 63 серебряных знака 245 245 бронзовых знаков
Посчитать количество файлов определенного типа в заданной папке. Python
Ты никогда не знаешь, сколько файлов нужно пересчитать в папке, пока не столкнешься с этой задачей. Но теперь ты можешь облегчить свою работу с помощью нашей нейросети онлайн, которая самостоятельно посчитает количество файлов нужного типа в заданной папке. Больше не нужно тратить время на рутинные задачи — нейросеть пишет текст, а ты можешь заниматься своим творчеством. Попробуй прямо сейчас, и ты убедишься, насколько просто и удобно это.
Создать текст по запросам:
Узнать общее количество файлов в заданой папке
Мне нужно узнать общее количество файлов в заданой папке. Папка может иметь вложение папки с файлами, ети файли тоже должны считаться.
Serge_Bliznykov
вот, когда-то использовал для своих целей (если что — подправите для себя)
function FilesCountInScanDirectory( cDirName : string) : integer;
var
lCountResult : integer;
SearchRec: TSearchRec;
begin
lCountResult := 0;
cDirName := IncludeTrailingBackslash(cDirName);
if (FindFirst( cDirName+'*.*', faAnyFile, SearchRec)=0)
then begin
if (SearchRec.Attr and faDirectory)<>0 then begin
if (Trim(SearchRec.Name)<>'.') and
(Trim(SearchRec.Name)<>'..') then begin
lCountResult := FilesCountInScanDirectory(
cDirName+SearchRec.Name) + lCountResult;
// WriteLn('Find directory - ',cDirName+SearchRec.Name);
end
end
else
lCountResult := lCountResult + 1;
while FindNext(SearchRec) = 0 do begin
if (SearchRec.Attr and faDirectory)<>0 then begin
if (Trim(SearchRec.Name)<>'.') and
(Trim(SearchRec.Name)<>'..') then begin
lCountResult := FilesCountInScanDirectory(
cDirName+SearchRec.Name) + lCountResult;
// WriteLn('Find directory - ',cDirName+SearchRec.Name);
end
end
else
lCountResult := lCountResult + 1;
end;
end;
FindClose(SearchRec);
Result := lCountResult;
// if lCountResult = 0 then
// WriteLn( fLogFile, cDirName, '');
// WriteLn('---- directory - ',cDirName,' ',lCountResult);
end;
ещё один вариант может выглядеть так:
program CountOfFiles1;
uses SysUtils, Forms; function CountOfFiles(Dir: string) : integer;
var
lResult : integer;
SearchRec: TSearchRec;
begin
Dir := IncludeTrailingBackslash(Dir);
lResult := 0;
if FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then
repeat
Application.ProcessMessages;
if (SearchRec.Attr and faDirectory) <> 0 then begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
lResult := lResult + CountOfFiles(Dir + SearchRec.name);
end
else
Inc(lResult);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
CountOfFiles := lResult;
end;
// пример использования
const
InitDir = 'C:\KAV\';
begin
WriteLn(' In folder '+InitDir+ ' ', CountOfFiles(InitDir),' file(s).' );
Readln
end.
Похожие статьи
- Вид файлов в папке (миниатюры изображения)
- Как из загруженного файла брать рандомную строку
- Как прочитать файл по байтно
- Удалить повторяющихся строк в текстовом файле
- Руководство пользователя для регистратора NDR-S-2216(2208)
- Руководство по PHP
- Сцена в Unity
- Русификатор на Delphi
- FastReports 4
- Скорость записи файла (исследование)
Работа с файлами в Python: как получить список всех файлов в директории
При работе с файлами и директориями в Python часто возникает задача получения списка всех файлов в определенной директории. Это может быть полезно, например, при необходимости обработать все файлы определенного типа в директории или при создании индекса файлов для дальнейшего анализа.
Для решения этой задачи в Python существуют встроенные библиотеки os и os.path . Они предоставляют функции для работы с операционной системой, включая работу с файловой системой.
Получение списка файлов в директории
Для получения списка всех файлов в директории можно использовать функцию os.listdir() . Эта функция возвращает список имен всех файлов и поддиректорий в указанной директории.
import os # Указываем путь к директории directory = "/path/to/directory" # Получаем список файлов files = os.listdir(directory) # Выводим список файлов print(files)
Добавление файлов в список
Поскольку функция os.listdir() уже возвращает список, ее можно использовать для добавления файлов в существующий список. Для этого достаточно использовать оператор += , который добавляет элементы одного списка в другой.
import os # Указываем путь к директории directory = "/path/to/directory" # Создаем пустой список files = [] # Добавляем файлы в список files += os.listdir(directory) # Выводим список файлов print(files)
Вывод
Получение списка файлов в директории — это простая задача, которую можно решить с помощью встроенных функций Python. Это позволяет легко работать с файлами и директориями, делая Python отличным выбором для автоматизации задач, связанных с файловой системой.