为了账号安全,请及时绑定邮箱和手机立即绑定

在包含换行符的文件上使用 gzip 时出错

在包含换行符的文件上使用 gzip 时出错

喵喔喔 2023-06-20 14:38:14
我正在尝试使用 python 的gzip库来简化一些创建 csv 输出文件的 python 脚本。我尝试了多种创建 gzip 文件的不同方法,但无论我尝试了哪种方法,我都遇到了同样的问题。我的 python 脚本运行成功,但是当我尝试在 Finder 中解压缩 gzip 文件时(使用 MacOS 10.15.6),提示我出现以下错误:Unable to expand "file.csv.gz" into "Documents". (Error 79 - Inappropriate file type or format.)经过一些调试,我将错误原因缩小到包含换行符(\n)字符的文件内容。这个简单的示例代码在 gzip 扩展时触发了上述错误:import gzipcontent = b'Id,Food\n1,Spam\n2,Eggs\n'f = gzip.open('file.csv.gz', 'wb')f.write(content)f.close()当我从变量中删除所有\n字符时content,一切正常:import gzipcontent = b'Id,Food,1,Spam,2,Eggs'f = gzip.open('file.csv.gz', 'wb')f.write(content)f.close()gzip 是否要我使用不同的换行机制?我确信我缺少一些关于 gzip 或二进制文件的基础知识,所以任何有助于让我回到正轨的信息都将不胜感激。
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

它与 Python 的 gzip 无关。可以说,这是 macOS 中的一个错误,它有时会通过 Archive Utility 将生成的未压缩数据检测为 mtree,但随后发现未压缩数据违反了 mtree 格式。

解决方法是不要双击解压。使用gzip解压。


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信