Tarfile 创建 xz 文件
Tarfile create xz file
我注意到 tarfile 没有 w:xz 选项或类似的东西,有什么方法可以创建 xz 文件吗?我在 python
中有这段代码
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()
Python 3.3 及以上版本有您正在搜索的选项。
'w:xz' -- 开启lzma压缩写入。
https://docs.python.org/3.3/library/tarfile.html
对于 3.3 以下的版本,您可以尝试以下操作
- 假设您在代码的前面为 inputFilename 和 outputFilename 赋值。
- 注意使用with关键字会在缩进代码执行后自动关闭文件
示例代码:
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 导入 python 2.7 时出现的问题。此条目中提供了一个您可以遵循的解决方法。
这里是 link - Python 2.7: Compressing data with the XZ format using the "lzma" module
我注意到 tarfile 没有 w:xz 选项或类似的东西,有什么方法可以创建 xz 文件吗?我在 python
中有这段代码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()
Python 3.3 及以上版本有您正在搜索的选项。
'w:xz' -- 开启lzma压缩写入。
https://docs.python.org/3.3/library/tarfile.html
对于 3.3 以下的版本,您可以尝试以下操作
- 假设您在代码的前面为 inputFilename 和 outputFilename 赋值。
- 注意使用with关键字会在缩进代码执行后自动关闭文件
示例代码:
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 导入 python 2.7 时出现的问题。此条目中提供了一个您可以遵循的解决方法。
这里是 link - Python 2.7: Compressing data with the XZ format using the "lzma" module