Seite 1 von 1

Laufwerksbuchstaben physikalischen Datenträgern zuordnen?

Verfasst: Sonntag 23. Juni 2013, 16:44
von microkernel
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

Re: Laufwerksbuchstaben physikalischen Datenträgern zuordnen

Verfasst: Sonntag 23. Juni 2013, 17:25
von anogayales
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

Re: Laufwerksbuchstaben physikalischen Datenträgern zuordnen

Verfasst: Montag 24. Juni 2013, 07:56
von JonasR
@anogayales hast du noch ein Diskettenlaufwerk? :D

Re: Laufwerksbuchstaben physikalischen Datenträgern zuordnen

Verfasst: Montag 24. Juni 2013, 13:33
von anogayales
Eigentlich nicht, wird bei mir aber trotzdem noch angezeigt :) Dieses Windows eben mal wieder :D