我正在编写一个脚本来备份各种不同的文件.我想要做的是存储有关备份的元信息.目前我正在使用文件名,例如:
backups/cool_file_bkp_c20120119_104955_d20120102
其中c表示文件创建日期时间,d表示“数据时间”,表示cool_file实际包含的内容.我目前使用“数据时间”的原因是后来的备份可能是由同一个文件组成的,在这种情况下,我知道我可以安全地替换相同“数据时间”的先前备份,而不会丢失任何信息.
这似乎是一种糟糕的做事方式,但它似乎确实具有非os依赖性的好处.有没有更好的办法?
仅供参考:我使用Python编写备份创建脚本,目前需要在Windows XP,2003和Redhat Linux上运行.
编辑:解决方案:
从下面的答案中,我推断出文件上的元数据并没有以标准方式得到广泛支持.鉴于我的目标是将元数据与文件紧密耦合,似乎将文件与元数据文本文件一起存档是可行的方法.
最佳答案
我会采取两种方法之一:
在backub目录上创建一个包含所需元数据的独立文件 – 这可能是人类可读的形式,只是为了让生活更轻松,例如json数据结构或“ini”文件.
另一个是归档复制的文件 – 可能使用“zip”,并捆绑一个带有所需元数据的文本文件.
创建zip存档以组合您想要的文件的想法在几个地方使用,例如java .jar文件,Open Document Format(由几个office sutres创建的offfice文件),Office Open XML(Microsoft特定的offic文件),以及甚至Python语言都有自己的蛋.
Python标准库中的ziplib模块具有完成此任务所需的所有工具 – 您可以在与原始文件捆绑在一起的文件中使用字典表示,以获得所需的元数据.