Reputation: 1422
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
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