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('*'))

4voto

Bojan Tunguz Punkte 41

Hier ist ein einfacher einzeiliger Befehl, den ich für nützlich halte:

print int(os.popen("ls | wc -l").read())

4voto

okobaka Punkte 528

Lukes Code neu formatieren.

import os

print len(os.walk('/usr/lib').next()[2])

4voto

tzot Punkte 86792
import os

def count_files(in_directory):
    joiner= (in_directory + os.path.sep).__add__
    return sum(
        os.path.isfile(filename)
        for filename
        in map(joiner, os.listdir(in_directory))
    )

>>> count_files("/usr/lib")
1797
>>> len(os.listdir("/usr/lib"))
2049

2voto

user799188 Punkte 13057

Ich habe glob.iglob für eine Verzeichnisstruktur ähnlich der

data
train
   subfolder1
   |      file111.png
   |      file112.png
   |      ...
   |
   subfolder2
          file121.png
          file122.png
          ...
test
       file221.png
       file222.png

Beide der folgenden Optionen ergeben 4 (wie erwartet, d.h. die Unterordner selbst werden nicht gezählt )

  • len(list(glob.iglob("data/train/*/*.png", recursive=True)))
  • sum(1 for i in glob.iglob("data/train/*/*.png"))

2voto

Agha Saad Punkte 31

Das ist ganz einfach:

print(len([iq for iq in os.scandir('PATH')]))

Es zählt einfach die Anzahl der Dateien im Verzeichnis, ich habe Liste Verständnis Technik verwendet, um durch bestimmte Verzeichnis zurückkehren alle Dateien im Gegenzug zu iterieren. "len(returned list)" gibt die Anzahl der Dateien zurück.

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