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

NoN*_*me2 7 python metadata file

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

Del*_*gan 8

注意:此答案仅适用于 Linux

您可以利用扩展文件属性,这是一种文件系统功能,可以满足您的需求:沿文件存储自定义元数据。

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

import os

os.setxattr('foo.txt', 'user.bar', b'baz')
os.getxattr('foo.txt', 'user.bar')  # => b'baz'
Run Code Online (Sandbox Code Playgroud)

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

  • @LewisMorris您应该使用`shutil.copy2()`或`cp -a`来尝试保留扩展属性。 (2认同)