Ich schrieb den folgenden Code für eine Datei auf Ihrem Computer suchen:Python-Datei-Suchprogramm nicht schnell genug
import os, sys
import win32api
x=raw_input("Enter file name: ")
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
for drive in drives:
for folderName, subfolders, filenames in os.walk(drive):
for filename in filenames:
if x.upper() in filename:
print"FILE FOUND!"
print('FILE INSIDE ' + folderName + ': '+ filename)
elif x.lower() in filename:
print"FILE FOUND!"
print('FILE INSIDE ' + folderName + ': '+ filename)
elif x.capitalize() in filename:
print"FILE FOUND!"
print('FILE INSIDE ' + folderName +': '+ filename)
a=raw_input("Press any key to exit.")
sys.exit()
Wie Sie dieses Programm bemerkt haben nicht schnell genug ist.
Also könnte mir jemand helfen, eine schnellere und effizientere Version dieses Programms zu machen?
Danke!
Was meinst du "schnell genug"? Wie schnell möchten Sie, dass es mit dem verglichen wird, was es jetzt ist? Festplattenzugriff ist im Allgemeinen sehr langsam. 'os.walk()' wurde auch in Python 3.5 aktualisiert, um viel schneller zu sein, wenn Sie also Python 2 verwenden, das dazu beitragen könnte. –
Es wird nicht viel in Bezug auf die Geschwindigkeit ändern, sondern nur darauf hinweisen, dass Ihre 'if' sich gegenseitig ausschließen, so können Sie zwei von 'em 'elif's –