我注意到tarfile没有w:xz选项或类似的东西,有任何方法来创建xz文件吗?
dir=tkFileDialog.askdirectory(initialdir="/home/david")
if x.get()=="gz":
tar = tarfile.open(dir+".tar.gz", "w:gz")
tar
for i in range(lbox.size()):
tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i))
tar.close()
if x.get()=="bz":
tar = tarfile.open(dir+".tar.gz", "w:bz2")
tar
for i in range(lbox.size()):
tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i))
tar.close()
if x.get()=="xz":
tar = tarfile.open(dir+".tar.gz", "w:gz")
tar
for i in range(lbox.size()):
tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i))
tar.close()发布于 2015-04-05 02:26:38
PythonVersion3.3和更高版本有您要搜索的选项。
'w:xz‘-开放给lzma压缩写作。
https://docs.python.org/3.3/library/tarfile.html
对于3.3以下的版本,您可能可以尝试以下方法
样本代码:
import lzma
# open input file as binary and read input data
with open(inputFilename, 'rb') as iFile:
iData = iFile.read()
# compress data
oData = lzma.compress(iData)
# open output file as binary and write compressed data
with open(outputFilename, 'wb') as oFile:
oFile.write(oData)我搜索了其他答案,并找到了一个条目,其中提到了将lzma导入python2.7时遇到的问题。在这个条目中给出了一个解决方法,您可以遵循这个条目。
下面是链接- Python 2.7: Compressing data with the XZ format using the "lzma" module
https://stackoverflow.com/questions/29453407
复制相似问题