366 Stimmen

Wie man mit Python die Anzahl der Dateien in einem Verzeichnis zählt

Wie zähle ich nur die Dateien in einem Verzeichnis? Hier wird das Verzeichnis selbst als Datei gezählt:

len(glob.glob('*'))

25voto

Paul Punkte 4796

Eine Antwort mit pathlib und ohne Laden der gesamten Liste in den Speicher:

from pathlib import Path

path = Path('.')

print(sum(1 for _ in path.glob('*')))  # Files and folders, not recursive
print(sum(1 for _ in path.glob('**/*')))  # Files and folders, recursive

print(sum(1 for x in path.glob('*') if x.is_file()))  # Only files, not recursive
print(sum(1 for x in path.glob('**/*') if x.is_file()))  # Only files, recursive

22voto

Kurz und einfach

import os
directory_path = '/home/xyz/'
No_of_files = len(os.listdir(directory_path))

19voto

qed Punkte 20934

Ich bin überrascht, dass niemand erwähnt hat os.scandir :

def count_files(dir):
    return len([1 for x in list(os.scandir(dir)) if x.is_file()])

12voto

ninjrok Punkte 170
def directory(path,extension):
  list_dir = []
  list_dir = os.listdir(path)
  count = 0
  for file in list_dir:
    if file.endswith(extension): # eg: '.txt'
      count += 1
  return count

12voto

rash Punkte 1298
import os
print len(os.listdir(os.getcwd()))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X