1

我正在备份文件系统,我需要确保保存元数据(文件所有者和创建时间)。

Python 中的tarfile模块非常有用,我在解决方案中广泛使用它。但是,我无法使用保存其元数据的文件创建 tar 文件(大概是因为copy并且copy2不能这样做)。

你将如何从 Python 中解决这个问题?

编辑:

只是为了让社区明白:tarfilePython 中的模块确实提供了通过Tarinfo对象存储元数据的方法。本质上,Tarinfo对象是对象的成员Tar,它包含您可能需要的所有信息。请参阅已接受的帖子。

谢谢!

4

1 回答 1

2

“想必”?你的意思是你不知道?你试过吗?也就是说,据我所知,tarfiles 不会保留 ctime,而且它没有什么意义,因为解压缩时应该重置 ctime。但是,mtime 被保留,并且 tarfile 模块处理 mtime。

添加文件时,python tarfile 模块使用 TarInfo 对象。像这样:

TarFile.addfile(tarinfo, fileobj=None)

TarInfo 对象包含文件信息:

TarInfo.mtime
Time of last modification.

TarInfo.uid
User ID of the user who originally stored this member.

TarInfo.gid
Group ID of the user who originally stored this member.

以及大量其他元数据。请参阅http://docs.python.org/library/tarfile.html

于 2010-01-27T07:45:20.867 回答