【问题标题】:Read gz file in python在python中读取gz文件
【发布时间】:2021-12-30 14:10:36
【问题描述】:

我正在尝试读取/提取文件train.gz的内容

我的代码:

import gzip
with gzip.open('train.gz', 'rb') as f:
    file_content = f.read()

当我跑步时:

print(file_content)

我收到此错误(在 jupyter 笔记本上):

---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)
/tmp/ipykernel_2392/4036593255.py in <module>
----> 1 print(file_content)

MemoryError: 

有什么建议吗?

【问题讨论】:

    标签: python python-3.x jupyter-notebook gzip


    【解决方案1】:

    MemoryError 表明文件太大,您的运行时无法处理。

    IIGC train.gz 可能是一个训练模型,您可能必须将此模型作为一个单独的块来处理。如果是这样,您最好的解决方案是找到更大(更多内存)的机器。

    如果可能(并且强烈推荐),您应该通过您的程序流式传输未压缩的文件,以便您可以将缓冲区|内存中的窗口限制在其上,从而限制内存不足的可能性。

    【讨论】:

    • 这是一个 Google Cloud Jupyter Notebook 实例:n1-standard-4(4 个 vCPU,15 GB RAM)有没有办法知道这是否足够
    • 例如,我是否应该专注于 RAM 并向上升级请参阅下面的机器选项:prnt.sc/25v2943
    • 好的,升级到更高的机器(RAM = 30Gb)后我不再收到错误,但是当我print(file_content) 然后我收到此错误The kernel for Untitled.ipynb appears to have died. It will restart automatically. 是否需要打印文件或读取这作为一个数据框可能就足够了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多