import os
cpt = sum([len(files)for r, d, files in os.walk("G:\CS\PYTHONPROJECTS")])
Pourriez-vous expliquer pourquoi vous avez besoin de la fonction somme? Pourquoi ne pas len(fichiers) être suffisant? Il existe plusieurs ensembles de fichiers (à partir de chaque sous-répertoire) qui sont générés par le système d'exploitation.à pied. Vous devez somme sur la longueur de chaque jeu pour obtenir la quantité de fichiers. Si vous utilisez len(fichiers) ensuite, vous obtenez une liste où chaque élément est le nombre de fichiers dans un sous-répertoire.
Il suffit d'ajouter le elif déclaration qui prend soin de les répertoires:
def fileCount(folder):"count the number of files in a directory"
count =0for filename in os.listdir(folder):
path = os.path.join(folder, filename)if os.path.isfile(path):
count +=1elif os.path.isfolder(path):
count += fileCount(path)return count
Ce n'est pas récursive à ce sujet? Qu'est-ce que la récursivité?
One - liner
Il existe plusieurs ensembles de fichiers (à partir de chaque sous-répertoire) qui sont générés par le système d'exploitation.à pied. Vous devez somme sur la longueur de chaque jeu pour obtenir la quantité de fichiers. Si vous utilisez len(fichiers) ensuite, vous obtenez une liste où chaque élément est le nombre de fichiers dans un sous-répertoire.
OriginalL'auteur octoback
Utilisation
os.walk
. Il va faire la récursivité pour vous. Voir http://www.pythonforbeginners.com/code-snippets-source-code/python-os-walk/ pour un exemple.OriginalL'auteur Hans Then
Il suffit d'ajouter le
elif
déclaration qui prend soin de les répertoires:Qu'est-ce que la récursivité?
OriginalL'auteur Blender