Wie kann ich meinen Algorithmus zur Suche nach Tiefe zuerst für die Suche nach Dateien in meinem Datenträger-Laufwerk op

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann ich meinen Algorithmus zur Suche nach Tiefe zuerst für die Suche nach Dateien in meinem Datenträger-Laufwerk op

by Anonymous » 17 Aug 2025, 02:28

Dieses kleine Skript findet Dateien und Ordner, indem sie rekursiv durch Verzeichnisstrukturen analysiert und die von ihnen gespeicherten Pfade zurückgegeben werden. Dies geschah, um einen Ordner auf meinem D -Laufwerk zu finden. Während der Code effektiv funktioniert, ist die Laufzeit ziemlich langsam. Ich habe das os.walk -Alternative untersucht, aber es scheint einige Sekunden langsamer als mein manueller rekursiver Code. Ich würde mich über Ihr Feedback darüber freuen, wie ich es optimieren kann, um schneller zu laufen. Danke. < /P>

Code: Select all

import os
import re

rootPath = 'C:\\'

search = input("Enter file you are looking for ")
escaped = re.escape(search)
pattern = re.compile(escaped.replace(r"\ ", r"\s*"), re.IGNORECASE)
def recursiveDirFinder(root,target):
dirs = os.listdir(root)
for dir in dirs:
try:
path = os.path.join(root,f"{dir}\\")
if target.search(dir):
print(path)
else:
if os.path.isdir(path):
recursiveDirFinder(path,target)
else:
continue
except UnicodeEncodeError:
#print(f"Error processing {dir}")
continue
except PermissionError:
#print(f"{dir} cannot be accessed")
continue
except OSError:
continue

recursiveDirFinder(rootPath,pattern)

Top