2010-01-27 46 views
1

我正在備份文件系統,我需要確保元數據是保存的(文件所有者和創建時間)。用Python中的元數據(用戶標識和ctime)進行歸檔(tar和compress)

Python中的tarfile模塊非常有用,我在解決方案中廣泛使用它。但是,我無法用保存其元數據的文件創建tar文件(可能是因爲copycopy2無法執行此操作)。

如何從Python內部解決這個問題?

編輯:

只是爲了清楚地向社區:在tarfile模塊在Python 確實提供手段,通過Tarinfo對象存儲元數據。本質上,Tarinfo對象是Tar對象的成員,它具有您可能需要的所有信息。請參閱接受的帖子。

謝謝!

回答

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

+0

請繼續往下看我......你是對的...... Tarinfo字段包含我需要的一切。對不起,關於'Lapsus Stupidus'。 – Escualo 2010-01-27 18:38:51

相關問題