Попытка создать функцию, которая возвращает число файлов, найденных в каталоге и его подкаталогах. Просто начните работу
Возвращает количество файлов в каталоге и подкаталоге
Ответ 1
Однострочный
import os
cpt = sum([len(files) for r, d, files in os.walk("G:\CS\PYTHONPROJECTS")])
Ответ 2
Используйте os.walk
. Он сделает рекурсию для вас. См. http://www.pythonforbeginners.com/code-snippets-source-code/python-os-walk/ для примера.
total = 0
for root, dirs, files in os.walk(folder):
total += len(files)
Ответ 3
Просто добавьте оператор elif
, который заботится о каталогах:
def fileCount(folder):
"count the number of files in a directory"
count = 0
for filename in os.listdir(folder):
path = os.path.join(folder, filename)
if os.path.isfile(path):
count += 1
elif os.path.isfolder(path):
count += fileCount(path)
return count