Python & Cross-Plattform Weg, um Laufwerke auf Linux, Windows und Mac aufzulisten

8

Ich versuche, die Laufwerke aufzulisten, die ein System haben kann.

Unter Windows kann es etwa "C: /", "D: /", "E: /" sein.

Unter Linux kann es so etwas wie "/ boot", "/ media / SDCard", etc.

sein

Und ich weiß nicht, wie es auf einem Mac ist. Vielleicht etwas unter / Volumes.

Kennt jemand einen plattformübergreifenden Weg (also einen, der unter Linux, Windows und Mac funktioniert) in Python?

Danke!

Oh, eine kurze Notiz, ich benutze Python 2.6.

    
Thomas O 29.08.2010, 20:35
quelle

3 Antworten

2

Es gibt nicht wirklich ein einheitliches Benennungsschema für Linux-Geräte, das Ihnen ein formatierbares Blockgerät garantiert. Es gibt Konventionen, aber sie können sehr unterschiedlich sein und ich kann mein Thumb-Laufwerk / Thomas / O aufrufen, wenn ich will und es gibt keinen plattformübergreifenden Weg in Python zu wissen:

  1. Das / Thomas / O entspricht / dev / sdf1
  2. Auf / dev / sdf1 kann ein FAT32-Dateisystem erstellt werden
  3. Das / dev / sdf ist nicht bevorzugt gegenüber / dev / sdf1

Ich bin mir ziemlich sicher, dass es auch kein plattformübergreifendes Python-Modul gibt, mit dem Sie feststellen können, dass H: / auf einem Windows-System formatierbar ist, aber dass Z: / nicht.

Jedes System benötigt seine eigenen spezifischen Prüfungen und Validierungen, die Sie am besten aus dem Studium der Open-Source-Software zur Festplattenmanipulation lernen können.

    
msw 29.08.2010, 21:29
quelle
11

Das Paket psutil ( Ссылка ) hat eine Funktion disk_partitions.

Windows:

%Vor%

Linux:

%Vor%     
Eric Smith 11.09.2014 00:29
quelle
1

Die Antwort von Eric Smith auf psutil funktioniert unter Windows gut, aber auf OS X bevorzuge ich dies :

%Vor%

Es gibt Ihnen die lesbaren Namen zurück, die, zumindest in meinem Fall, vorzuziehen wären (IE, gibt es Macintosh HD anstelle von / oder /dev/disk0s2 .)

    
ArtOfWarfare 15.04.2015 22:45
quelle

Tags und Links