Python Glossary English

Python 3.3+Linuxosфункция

os.setxattr

os — расширенные атрибуты (xattr)

Устанавливает расширенный атрибут файла.

Синтаксис

os.setxattr(...)

Имя — с префиксом пространства имён ('user.tag'), значение — bytes. Флаги XATTR_CREATE и XATTR_REPLACE превращают запись в «только создать» или «только заменить». На файловой системе без поддержки атрибутов, например на части сетевых дисков и tmpfs старых ядер, поднимается OSError.

Примеры

import os
open('xattr_demo.txt', 'w').close()
os.setxattr('xattr_demo.txt', 'user.author', b'anna')   # → ? только Linux: атрибут записан, возвращает None (имя обязано начинаться с user.)
print(os.getxattr('xattr_demo.txt', 'user.author'))   # → b'anna'
print(os.setxattr('xattr_demo.txt', 'user.author', b'clara', os.XATTR_CREATE))   # → OSError (EEXIST) — с flags=0 значение просто перезаписалось бы
print(os.setxattr('xattr_demo.txt', 'user.tag', 'важное'))   # → TypeError — значение должно быть bytes, а не str

См. также

Частые ошибки

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