Laufwerksbuchstaben physikalischen Datenträgern zuordnen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Hallo ;)

Gibt es eine Methode unter Windows, gegebene Laufwerksbuchstaben nach physikalischen Datenträgern zu gruppieren?

Also ich habe beispielsweise zwei logische Laufwerke (C: und Z:) auf meinem PC und eine externe Festplatte (F:) dran. Alle verfügbaren Laufwerksbuchstaben erhalte ich mit

Code: Alles auswählen

import win32api
drives = win32api.GetLogicalDriveStrings().split("\000")[:-1]
. Nun würde ich gerne die Buchstaben nach physikalischen Datenträgern gruppieren, sodass ich im meinen Fall dann

Code: Alles auswählen

drives = ( ("C:", "Z:"), ("F:") )
erhalten würde.
Wie kann ich das erreichen?


Lg
microkernel
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Die Funktion `win32file.GetDriveType` gibt dir den DriveType zurück (= Integer). Mit Hilfe von itertools.groupby ist das ein Einzeiler:

Code: Alles auswählen

import win32file
from itertools import groupby
print [list(g) for k,g in groupby(drives, win32file.GetDriveType)]
#[['A:\\'], ['C:\\', 'D:\\'], ['E:\\', 'F:\\']]
Grüße,
anogayales
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

@anogayales hast du noch ein Diskettenlaufwerk? :D
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Eigentlich nicht, wird bei mir aber trotzdem noch angezeigt :) Dieses Windows eben mal wieder :D
Antworten