В Unix и Unix-подобных ОС драйвер хранилища монтируется по определенному пути.
Есть ли в Python какая-либо функция (лучше 3.x), которая может получить имя устройства и номер раздела каталога (например, / --> /dev/sda1
и /home --> /dev/sda2
)?
Я не уверен в источнике приведенного ниже кода, но он решил аналогичную проблему, с которой я когда-то столкнулся.
В приведенном ниже коде используется psutil
для получения информации обо всех точках монтирования и устройствах.
Для установки запустить
pip install psutil
def disksinfo():
values = []
disk_partitions = psutil.disk_partitions(all=False)
for partition in disk_partitions:
usage = psutil.disk_usage(partition.mountpoint)
device = {'device': partition.device,
'mountpoint': partition.mountpoint,
'fstype': partition.fstype,
'opts': partition.opts,
'total': usage.total,
'used': usage.used,
'free': usage.free,
'percent': usage.percent
}
values.append(device)
values = sorted(values, key=lambda device: device['device'])
return values
Вы можете настроить код в соответствии с вашими требованиями.
Хорошо, спасибо за информацию об устройстве. Я легко могу решить проблему.
с
os.path.ismount(path)
(возвращаясь по пути) вы получаете точку монтирования. Тогдаos.statvfs(path)
может помочь. но я не могу идти дальше. Возможно сканирование/etc/mtab
еще необходимо