我正在尝试使用 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解压。
添加回答
举报
0/150
提交
取消