News: aggiunto supporto 3rd/5th edition
Ecco un modulo per cercare informazioni sui drives!
E' il mio primo modulo scritto in C++ e di sicuro ne so praticamente pochissimo ma girando qua e là prendendo spunto da altri moduli (KeyPress e sysinfo) e grazie all'aiuto di Dokkis per risolvere alcuni errori di compilazione, sono riuscito a fare questo piccolo modulo.
Compilato per FP3 non sono sicuro se va anche negli altri...se magari qualcuno prova mi fa un piacere!
EDIT: ho provato sul mio vecchio 3650 e va benissimo pure li
Versione: 0.3
Funzionalità:
-total_drivespace() #Dizionario con grandezza totale drive
-drive_names() #dizionario con nomi drives (quella che si imposta sulla MMC ad esempio)
-drives_uid() #ID univoco del drive (come UID: hex(drives_uid()[0]) ad esempio)
-drives_fs() #Nome filesystem
Per intepretare i valori ottenuti dalle funzioni di seguito, bisogna fare ad esempio: valore_ottenuto&EMediaFormattable.Ovviamente EMediaFormattable non si può usare in python ma in seguito posto tutti i valori possibili da utilizzare per interpretare i valori.
-drive_type() # Tipo drive: Flash, HDD , Rom...
-drives_attr() #Attributi drives: formattatile, estraibile ecc...
-medias_attr() #Attributi volume
Esempio:
import DriveInfo #Mantenere questa forma sizes=DriveInfo.total_drivespace() names=DriveInfo.drive_names() print sizes[u'C:'] print names[u'E:']
EDIT:
Di seguito elencati i valori di type ecc...
type_names=["Non presente","Sconosciuto","Floppy","Hard Disk (MMC)","CD-Rom","Ram Drive","Flash","Rom","Remoto"] media_attr=[0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80] media_attr_names=["Dimensione variabile","Doppia densita'","Formattabile","Sola lettura","Bloccabile","Bloccato","Ha una password","Legge mentre scrive"] drive_attr=[0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80] drive_attr_names=["Locale","Rom","Rediretta","Virtuale","Interna","Removibile","Remota","Transazione"] attr=DriveInfo.drives_attr()[drive] vol_attr=DriveInfo.medias_attr()[drive] for n in drive_attr: if attr&n: print drive_attr_names[drive_attr.index(n)] for n in media_attr: if vol_attr&n: print media_attr_names[media_attr.index(n)]
Ciao !!
Download file
Messaggio modificato da memoryn70, 27 aprile 2009 - 16:56














