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

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

Post by Anonymous »

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)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post