【发布时间】:2016-06-26 15:00:11
【问题描述】:
我遇到的问题是存储文件的名称。存储的文件未使用原始/未压缩文件名命名。相反,存储的文件以存档名称命名(带有附加的“.gz”扩展名)。
预期结果:
file.txt.gz {档案名称}
....file.txt {存储的文件名}
实际结果:
file.txt.gz {档案名称}
....file.txt.gz {存储的文件名}
通读 gzip 文档 (https://docs.python.org/2.7/library/gzip.html) 示例代码:
import gzip
import shutil
with open('file.txt', 'rb') as f_in, gzip.open('file.txt.gz', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
如何让存档存储名为“file.txt”而不是“file.txt.gz”的文件?
【问题讨论】:
-
所以你想将压缩文件存储在
file.txt中?即覆盖现有文件? -
但是现在环顾四周,不要以为gzip是真正的归档格式,只是文件压缩-_-
-
再想一想:我尝试了代码,它工作正常,文件名正确存储在存档(“file.txt”)中。
-
@Jake 最好了解更多关于实际使用哪个 python 版本以及如何解压缩文件,因为我的对应于引用的文档链接,所以如果有一个不太可能的问题具体到 2.7(但我们没有太多线索)。
-
是的,这不是
gzip模块应该的工作方式。要么你发现了一个老错误,要么存在误解,要么代码中发生了一些有趣的事情。
标签: python compression gzip