错误!blahfile 不是 UTF-8 编码的。已禁用保存

bli*_*web 12 python gzip binary-data jupyter jupyter-notebook

所以,我试图写一个 gzip 文件,实际上是从网上写的,但为了简化我写了一些非常基本的测试。

import gzip
LINES = [b'I am a test line' for _ in range(100_000)]
f = gzip.open('./test.text.gz', 'wb')
for line in LINES:
    f.write(line)
f.close()
Run Code Online (Sandbox Code Playgroud)

它运行良好,我可以在 Jupyter 中看到它在目录列表中创建了 test.txt.gz 文件。所以我点击它,期待一大堆垃圾字符指示一个二进制文件,就像你在记事本中看到的那样。
然而,相反,我得到了这个......

Error!  test.text.gz is not UTF-8 encoded.
Saving disabled.
See console for more details
Run Code Online (Sandbox Code Playgroud)

这让我想,天哪,编码错误,我的编码有问题,我的保存,我可以保存字节吗?我是否使用了正确的例程?然后花 5 个小时尝试代码和模块的所有组合。

bli*_*web 27

对此的非常简单的答案是以上都不是。这是一个非常具有误导性的错误消息,尤其是当您编写的代码旨在保存带有奇怪扩展名的二进制文件时。

这实际上意味着......

    I HAVE NO IDEA HOW TO DISPLAY THIS DATA ! - Yours Jupyter
Run Code Online (Sandbox Code Playgroud)

因此,转到您的文件资源管理器,Finder 导航到刚刚保存的文件并打开它。瞧!!一切都按计划进行,没有错误。

希望这可以为其他人节省许多小时的调试时间,请 Jupyter 更改您的错误消息。