从python gzip压缩文件正在更改文件名

时间:2019-05-08 22:47:15

标签: python

我正在尝试使用python 3 gzip文件。当我gzip文件时,代码无需执行任何操作即可更改文件名。我不确定我是否完全理解gzip模块的工作。

下面是代码:

dir_in = '/localfolder/new_files/'
dir_out = '/localfolder/zippedfiles/
file_name = 'transactions_may05'
def gzip_files(dir_in, dir_out, file_name):
    with open(dir_in + file_name, 'rb') as f_in, gzip.open(dir_out + 'unprocessed.' + file_name + '.gz', 'wb') as f_out:
        f_out.writelines(f_in)

预期输出: 外部文件unprocessed.transactions_may05.gz 当我双击它时,我应该得到原始文件transactions_may05

当前输出: 外部文件: unprocessed.transactions_may05.gz-如预期 当我双击它时,内部文件也未处理。附加到它。我不确定为什么未处理。被附加到内部文件名 内部文件: unprocessed.transactions_may05

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

这是gzip和gunzip的预期行为。 如手册页所述:

  

gunzip在其命令行上获取文件列表,并替换每个文件   名称以.gz,-gz,.z,-z或_z结尾的文件(忽略大小写),并且   以正确的幻数开头且未压缩   没有原始扩展名的文件。

如果您不想更改名称,则在压缩文件名时不应修改文件名。