Python Glossary Русский

Python 3.3+Linuxosfunction

os.getxattr

os — extended attributes (xattr)

Return the value of a file's extended attribute by name.

Syntax

os.getxattr(...)

The attribute name must include a namespace: ordinary users have 'user.', e.g. 'user.comment'; a name without a prefix raises OSError. The value comes back as bytes. Not every filesystem supports attributes, and copying with cp or archiving may lose them.

Examples

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) — у отсутствующего атрибута нет значения по умолчанию

See also

Common errors

Open in the full glossarydocs.python.orgReport an inaccuracy