Python 3.3+Linuxosфункция
os.getxattr
os — расширенные атрибуты (xattr)
Возвращает значение расширенного атрибута файла по имени.
Синтаксис
os.getxattr(...)
Имя атрибута должно содержать пространство имён: обычным пользователям доступно 'user.', например 'user.comment'; имя без префикса даёт OSError. Значение возвращается байтами. Не все файловые системы поддерживают атрибуты, а при копировании через cp или архивирование они могут потеряться.
Примеры
import os
os.setxattr('note.txt', 'user.author', b'ivan') # → ? только Linux: записать расширенный атрибут (файл должен существовать, а ФС — поддерживать xattr)
print(os.getxattr('note.txt', 'user.author')) # → b'ivan' — значение всегда возвращается как bytes, не как str
print(os.getxattr('note.txt', 'user.author', follow_symlinks=False)) # → ? только Linux: b'ivan'; для симлинка атрибут читался бы у самой ссылки, а не у её цели
print(os.listxattr('note.txt')) # → ['user.author'] — так узнают, какие атрибуты вообще есть у файла
print(os.getxattr('note.txt', 'user.nope')) # → OSError (Errno 61, ENODATA) — у отсутствующего атрибута нет значения по умолчанию
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности