y a-t-il un moyen d'obtenir le nom de périphérique (/dev/sdx)
avec le dossier monté? Je veux dire, obtenez le périphérique associé à un point de montage en utilisant le dossier monté comme référence ou créez un dictionnaire python avec le mount points : devices
...
je sais que mount -l
peut me procurer les informations du système de fichiers monté, mais je ne sais pas vraiment comment le dépouiller pour créer le dictionnaire ...
de l'aide?
Cordialement...
Ceci n’a aucun rapport avec Ubuntu, mais vous êtes ici:
#!/usr/bin/env python
import subprocess
mounts = {}
for line in subprocess.check_output(['mount', '-l']).split('\n'):
parts = line.split(' ')
if len(parts) > 2:
mounts[parts[2]] = parts[0]
print mounts
mount | cut -f 1,3 -d ' '
Explication: cut
est un petit outil pratique pour fractionner des lignes à l'aide d'un caractère délimiteur (spécifié par l'option -d
) et pour sélectionner certains des champs à afficher (en utilisant une liste d'arguments séparés par une virgule pour l'option -f
). Comme la sortie mount
est régulière et délimitée par des espaces, la première et la troisième colonnes ci-dessus sont sorties, en omettant "on" et le reste de la ligne.
Pourquoi ne pas utiliser l'interface Gio? J'aime mieux ces solutions que d'exécuter une commande bash et d'analyser sa sortie. De cette façon, vous pouvez attraper des exceptions et avoir plus de contrôle.
Voici un petit exemple:
>>> from gi.repository import Gio
>>> vm = Gio.VolumeMonitor.get()
>>> for v in vm.get_volumes():
... print v.get_name()
Voir la documentation pour des méthodes beaucoup plus intéressantes.