首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tarfile创建xz文件

Tarfile创建xz文件
EN

Stack Overflow用户
提问于 2015-04-05 02:09:37
回答 1查看 2.5K关注 0票数 4

我注意到tarfile没有w:xz选项或类似的东西,有任何方法来创建xz文件吗?

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-05 02:26:38

PythonVersion3.3和更高版本有您要搜索的选项。

'w:xz‘-开放给lzma压缩写作。

https://docs.python.org/3.3/library/tarfile.html

对于3.3以下的版本,您可能可以尝试以下方法

  • 假设在代码的前面将值赋值给inputFilename和outputFilename。
  • 注意,在执行缩进代码后,使用with关键字自动关闭文件。

样本代码:

代码语言:javascript
复制
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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29453407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档