Python的gzip的文件夹结构荏苒单一文件(Python gzip folder structu

2019-07-19 04:11发布

我使用Python的gzip的模块gzip压缩单个文件的内容,使用类似于在文档中的示例代码:

import gzip
content = "Lots of content here"
f = gzip.open('/home/joe/file.txt.gz', 'wb')
f.write(content)
f.close()

如果我在7-ZIP打开GZ文件,我看到一个文件夹层次匹配我写了GZ的路,我的内容是嵌套几个文件夹深,比如上例中的/ home /乔以上,或C: - >文件和设置 - >等在Windows中。

我怎样才能得到一个文件,我要荏苒只是在GZ文件的根?

Answer 1:

它看起来像你将不得不使用GzipFile直接:

import gzip
content = "Lots of content here"
real_f = open('/home/joe/file.txt.gz', 'wb')
f = gzip.GZipFile('file.txt.gz', fileobj = realf)
f.write(content)
f.close()
real_f.close()

它看起来像open不允许您指定FileObj文件从文件名分开。



Answer 2:

您必须使用gzip.GzipFile和供应fileobj 。 如果你这样做,你可以指定GZ文件标题中的任意文件名。



Answer 3:

为什么不直接打开该文件没有指定一个目录层次结构(只是不gzip.open(“file.txt.gz”))? 在我看来,这样的工作。 您可以随时将文件复制到另一个位置,如果你需要。



Answer 4:

如果你设置你的当前工作目录到您的输出文件夹,你可以调用gzip.open(“file.txt.gz”)和GZ文件将不层级创建

import os
import gzip
content = "Lots of content here"
outputPath = '/home/joe/file.txt.gz'
origDir = os.getcwd()
os.chdir(os.path.dirname(outputPath))
f = gzip.open(os.path.basename(outputPath), 'wb')
f.write(content)
f.close()
os.chdir(origDir)


文章来源: Python gzip folder structure when zipping single file