推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
LeeReamond
V2EX  ›  Python

Python 的 pickle 加载大于内存上限的内容时会分段载入吗?应该怎么处理大文件读取?

  •  
  •   LeeReamond · Dec 9, 2021 · 3759 views
    This topic created in 1802 days ago, the information mentioned may be changed or developed.

    要处理很大的内容,比如视频裸流之类的东西,如果全放到内存里内存会撑爆。目前对储存和读取都有疑问,python 的 pickle 模块能简单的解决这个问题吗?就是随便 pickle.dump 一下,比如 dump 了 100G ,然后 load 的时候它会自动分段读吗?还是一次性把 100G 都读进内存之后才能解码?

    11 replies  •  2021-12-11 01:10:20 +08:00
    ila
    ila
    Dec 9, 2021 via Android
    1
    视频流本地存储后应该没有超过 2g 的
    ila
    ila
    Dec 9, 2021 via Android
    2
    @ila 超过后自动新文件
    secsilm
    secsilm
    Dec 9, 2021 via Android
    3
    没记错的话,pickle 是都读进内存的。
    skinny
    skinny
    Dec 9, 2021
    4
    不要用 Python 存一大坨数据,会炸!
    ysc3839
    ysc3839
    Dec 9, 2021 via Android
    5
    翻了下代码,load()是流式处理的,loads()是创建个 BytesIO 再 load()。不过看上去是纯 Python 实现的,性能大概不咋样。
    paopjian
    paopjian
    Dec 9, 2021
    6
    这操作有点骚啊,不怕死机数据全丢吗
    ruanimal
    ruanimal
    Dec 9, 2021
    7
    视频流需要用 pickle ,直接二进制文件不行吗? pickle 应该需求完整文件才能加载对象吧,读文件倒是流式读的。
    moomtong
    moomtong
    Dec 9, 2021
    8
    Memory Map?不确定视频文件行不行
    Volekingsg
    Volekingsg
    Dec 9, 2021
    9
    apache arrow ?
    lizytalk
    lizytalk
    Dec 9, 2021 via iPhone
    10
    mmap
    LeeReamond
    LeeReamond
    OP
    Dec 11, 2021
    11
    @ruanimal 主要是大文件自己切割不太方便,裸流的话,比如 10bit 视频,1080P60FPS ,一分钟二十多 G 出去了,自己要搞储存和读取,还要切割开始和结束的位置,还有可能出错还要纠错,感觉太难搞。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 12:02 · PVG 20:02 · LAX 04:02 · JFK 07:02
    ♥ Do have faith in what you're doing.