Da ich letztens (zu Testzwecken) eine bestimmte Datei(-endung) gesucht habe, wollte ich nicht über 405.113 Dateien von Hand durchsuchen. Daher ein kleiner Code-Schnipsel, in dem man entweder eine bestimmte Endung oder einen bestimmten Namen herausfinden kann. Dazu gibt man ein Verzeichnis an, alle Unterordner werden automatisch mit durchsucht. In dem Beispiel werden der Pfad, die Ordner innerhalb des Pfades und die Dateien ausgegeben. Will man eine spezielle Datei, ergibt auch die Funktion, den Pfad direkt ins Clipboard zu kopieren, einen praktischen Sinn.
Code: Alles auswählen
from pathlib import Path
import os
import pandas as pd
destination = 'C:\\'
suffixes = []
for root, dirs, files in os.walk(destination): # root = Path, dirs = folders, files = files
for file in Path(str(root)).iterdir():
if file.suffix == '.mp3': # oder -> file.stem == 'filename'
print('Path: ', root, '\nFolders: ', dirs, '\nFiles:', files, '\n')
df = pd.DataFrame([root])
df.to_clipboard(index=False, header=False)
folgendes schreibt:for file [..]
Code: Alles auswählen
if file.suffix not in suffixes and (len(file.suffix) < 5):
suffixes.append(file.suffix)
print(len(suffixes))
print(suffixes)
Wenn ich schon dabei bin, möchte ich auch gleich weitere Beispiele zeigen.
Kleiner Off-Topic aber was man verbinden könnte, ist folgendes Beispiel:
Code: Alles auswählen
import collections
#t = open("text.txt", "r")
t = "#@}&$[[%]_&$+)$+)$!%{(}$^$}$!%{(}$^$}*$+)$!%{(}$^$}"
d = collections.Counter()
for c in t:
d[c] += 1
print(d)
Etwas änhliches, Dateiname plus Typ ausgeben und die Suffixes separat ausgeben, in meinem Falle brauchte ich das.
Code: Alles auswählen
import collections
from pathlib import Path
destination = 'C:\\'
suffixes = []
for path in Path(destination).iterdir():
if path.is_file():
print('\nFilename:', path.stem)
print('Filetype:', path.suffix)
suffixes.append(path.suffix)
extensions = collections.Counter(suffixes)
print('\nDateien insgesamt:', len(suffixes))
print(extensions)
Code: Alles auswählen
for root, dirs, files in os.walk(destination): # root = Path, dirs = folders, files = files
for file in Path(str(root)).iterdir()
Wie auch immer, ein letztes Beispiel möchte ich noch teilen. Ein kleines Skript, dass verschiedene Dateitypen in entsprechende Ordner kopiert. Falls diese Ordner nicht existieren, werden sie erstellt. Erspart dem einen oder anderen vielleicht das mühsame sortieren einer Festplatte in Musik, Videos (natürlich nur anständige), Bilder, Dokumente oder was auch immer.
Hoffe dem ein oder anderen hilft so ein kleiner Schnipsel und kann es entsprechend für seinen Code gebrauchen, ich hatte auf jeden Fall meinen Spaß daran und werde diese Sachen mit Garantie häufiger benutzen.
Falls eine Verbesserungen hat, selbstverständlich immer gerne her damit.