Python将自定义属性/元数据添加到文件中

时间:2016-12-16 11:54:13

标签: python file metadata

在Python中,是否可以将自定义属性/元数据添加到文件中? 例如,我需要添加“FileInfo”作为文件的新属性。 我需要一种适用于各种文件格式的方法

2 个答案:

答案 0 :(得分:2)

执行此操作的简单方法是将新属性添加到文件对象实例。例如,

new[]

<强>输出

with open('qdata') as f:
    f.fileinfo = {'description': 'this file contains stuff...'}
    print(f.fileinfo)

或者,通过派生io模块中定义的一个类来创建自己的文件对象。

答案 1 :(得分:0)

您可以使用extended file attributes,这是一种文件系统功能,可以满足您的所有需求:将自定义元数据存储在文件中。

在Python中,这是由os模块通过setxattr()getxattr()函数实现的。

import os

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

请注意,您必须在xattr值前面加上"user.",否则可能会引发OSError

不幸的是,此功能仅在Linux系统上可用。