Wie zähle ich nur die Dateien in einem Verzeichnis? Hier wird das Verzeichnis selbst als Datei gezählt:
len(glob.glob('*'))
Wie zähle ich nur die Dateien in einem Verzeichnis? Hier wird das Verzeichnis selbst als Datei gezählt:
len(glob.glob('*'))
Wenn Sie die Standard-Shell des Betriebssystems verwenden, können Sie das Ergebnis viel schneller erhalten als auf rein pythonischem Weg.
Beispiel für Windows:
import os
import subprocess
def get_num_files(path):
cmd = 'DIR \"%s\" /A-D /B /S | FIND /C /V ""' % path
return int(subprocess.check_output(cmd, shell=True))
Eine einfache Utility-Funktion, die ich geschrieben habe, verwendet os.scandir()
anstelle von os.listdir()
.
import os
def count_files_in_dir(path: str) -> int:
file_entries = [entry for entry in os.scandir(path) if entry.is_file()]
return len(file_entries)
Der Hauptvorteil besteht darin, dass der Bedarf an os.path.is_file()
wird gestrichen und ersetzt durch os.DirEntry
Instanz is_file()
Damit entfällt auch die Notwendigkeit für os.path.join(DIR, file_name)
wie in anderen Antworten gezeigt.
Ich habe dieses Problem bei der Berechnung der Anzahl der Dateien in einem Google Drive-Verzeichnis durch Google Colab gelöst, indem ich mich in den Verzeichnisordner geleitet habe, indem ich
import os
%cd /content/drive/My Drive/
print(len([x for x in os.listdir('folder_name/']))
Normale Benutzer können versuchen
import os
cd Desktop/Maheep/
print(len([x for x in os.listdir('folder_name/']))
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.