首页 > 解决方案 > 从 python 压缩文件正在更改文件名

问题描述

我正在尝试使用 python 3 压缩文件。当我压缩文件时,代码正在更改文件名,而我没有做任何事情。我不确定我是否完全理解 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

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

标签: python

解决方案


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

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

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


推荐阅读