3
我想追加一個文件到tar文件。例如,test.tar.gz
中的文件是a.png, b.png, c.png
。我有一個名爲a.png
的新PNG文件,我想追加到a.png
到test.tar.gz
,並覆蓋中的舊文件a.png
。我的代碼:如何將文件追加到tar文件使用python tarfile模塊?
import tarfile
a = tarfile.open('test.tar.gz', 'w:gz')
a.add('a.png')
a.close()
然後,所有的文件test.tar.gz
disappeard但a.png
,如果我我的代碼改成這樣:
import tarfile
a = tarfile.open('test.tar.gz', 'a:')# or a:gz
a.add('a.png')
a.close()
程序崩潰,錯誤日誌:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/tarfile.py", line 1678, in open
return func(name, filemode, fileobj, **kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1705, in taropen
return cls(name, mode, fileobj, **kwargs)
File "/usr/lib/python2.7/tarfile.py", line 1588, in __init__
raise ReadError(str(e))
tarfile.ReadError: invalid header
我的錯誤是什麼?我該怎麼做?
好的,我明白了。當我閱讀python文檔時忽略了筆記。 – 2015-02-06 09:14:05
有誰知道這是爲什麼? append.gz是否存在一些內在的數據保真度問題,還是沒有人將它添加到Python模塊? – user1717828 2017-05-16 12:05:52