1

私はファイルシステムをバックアップしている最中であり、メタデータが保存されていることを確認する必要があります(ファイルの所有者と作成時間)。

Pythonのtarfileモジュールは非常に役立ち、ソリューションで広く使用しています。ただし、メタデータを保存しているファイルを使用してtarファイルを作成することはできません(おそらく、これcopycopy2行うことができないためです)。

Python内からこの問題にどのようにアプローチしますか?

編集:

コミュニティに明確にするためにtarfile、Pythonのモジュールはオブジェクトを介してメタデータを格納する手段を提供し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 に答える