CherryBelle
CherryBelle

Reputation: 1422

Python add custom property/metadata to file

In Python, is it possible to add custom property/metadata to a file? For example, I need to add "FileInfo" as a new property of the file. I need a method that works on various file formats

Upvotes: 10

Views: 23544

Answers (1)

Delgan
Delgan

Reputation: 19617

Heads up: this answer only works on Linux

You can make use of extended file attributes which is a filesystem feature that do just what you want: store custom metadata along files.

In Python, this is implemented by the os module through setxattr() and getxattr() functions.

import os

os.setxattr('foo.txt', 'user.bar', b'baz')
os.getxattr('foo.txt', 'user.bar')  # => b'baz'

Note that you must prepend the xattr value with "user." otherwise this may raise an OSError.

Upvotes: 13

Related Questions