Python Glossary English

все Python 3Linux · macOSosфункция

os.makedev

os — номера устройств

Собирает идентификатор устройства из старшего и младшего номеров (обратное major/minor).

Синтаксис

os.makedev(...)

Обратна major и minor: os.major(os.makedev(8, 1)) вернёт 8. Нужна, чтобы создать файл устройства через os.mknod. Раскладка итогового числа зависит от системы — передавайте его только функциям этой же системы.

Примеры

import os
dev = os.makedev(8, 1)  # 8:1 — первый раздел первого SATA/SCSI-диска
print(dev)  # → ? только Unix: упакованный идентификатор устройства; кодировка зависит от ядра (в Linux — 2049)
print(os.major(dev), os.minor(dev))  # → ? 8 1 — makedev и major/minor строго обратны друг другу
st = os.stat('/dev/null')
print(os.makedev(os.major(st.st_rdev), os.minor(st.st_rdev)) == st.st_rdev)  # → True — разобрали и собрали настоящий st_rdev без потерь
print(os.makedev(0, 0))  # → 0 — нулевой идентификатор: ровно такой st_rdev у обычных файлов, у которых устройства нет

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности