Python Glossary English

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Сообщить о неточности