在整个操作系统中,是否有一种标准的方法可以在文件中添加“标记”

2024-05-09 10:47:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写一个脚本来备份不同的文件。我想做的是存储关于备份的元信息。目前我使用的是文件名,例如:

backups/cool_file_bkp_c20120119_104955_d20120102

其中c表示文件创建日期时间,d表示“数据时间”,它表示酷文件实际包含的内容。我目前使用“数据时间”的原因是以后可能会对同一个文件进行备份,在这种情况下,我知道我可以安全地替换以前相同“数据时间”的备份,而不会丢失任何信息。在

这似乎是一种糟糕的方式来做事情,但它确实有不依赖于操作系统的好处。有更好的方法吗?在

仅供参考:我正在使用Python编写备份创建脚本,目前需要在windowsxp、2003和redhatlinux上运行。在

编辑:解决方案: 从下面的答案中,我推断出文件上的元数据并没有以标准方式得到广泛支持。考虑到我的目标是将元数据与文件紧密耦合,似乎将文件与元数据文本文件一起归档是一种可行的方法。在


Tags: 文件数据方法脚本信息文件名方式时间
2条回答

我会采取两种方法之一:

在backub dir上创建一个独立的文件,它将包含所需的元数据-这可能是一些人类可读的格式,只是为了让生活更简单,例如json数据结构,或类似“ini”的文件。在

另一种方法是将复制的文件归档——可能使用“zip”,并将一个文本文件与所需的元数据捆绑在一起。在

创建zip归档文件以将您想要的文件组合在一起的想法在很多地方都有使用,比如java.jar文件、Open Document格式(由几个office sutre创建的offfice文件)、officeopenxml(特定于Microsoft的office文件)甚至Python语言自己的鸡蛋。在

Python标准库中的ziplib模块拥有完成此任务所需的所有工具——您只需在与原始字典绑定的文件中使用字典的表示形式,就可以获得所需的尽可能多的元数据。在

当然,在这些方法中,您还需要一个helper脚本来查看和过滤文件中的元数据。在

不同的文件系统(不是不同的操作系统)具有不同的存储元数据的能力。NTFS有很多可能性,而FAT非常有限,ext*介于两者之间。没有一个广泛的(主观的)文件系统支持您可以使用的自定义标记。因此,没有标准的方法来处理这些标签。 在那里,引入这些属性的尝试几乎是不可用的,但是在那里引入这些属性几乎是不可行的。在

因此,在文件名中添加任何内容仍然是唯一可行的方法。请记住,文件系统对文件名和文件路径长度有限制,使用这种方法可能会超出限制,因此请小心。在

相关问题 更多 >