【问题标题】:Size of pickled object wrt GAE BlobProperty腌制对象 wrt GAE BlobProperty 的大小
【发布时间】:2023-03-16 19:01:01
【问题描述】:

我正在腌制一个 python 字典,并将其存储到 GAE BlobProperty。 BlobProperty 有一个1MB size limit。我想以编程方式检查我的对象是否“适合”该 1MB 限制

import pickle
p = pickle.dumps(some_object)
print len(p)
>>>42000

但是 len(pickled_object) 测量的是什么? (字符数?),以及如何将其转换为字节,以检查 1MB 限制?我找不到有关如何编码数据以将 len() 与 1MB 进行比较的信息(例如,每个“字符”的字节数)

谢谢

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore pickle


    【解决方案1】:

    序列化泡菜的大小以字节为单位,因此len 可以正常工作。看到这个非常相似的问题的答案:How to get the size of a python object in bytes on Google AppEngine?

    【讨论】:

    • 谢谢。是的,我看到了另一个问题,但奇怪的是,接受的答案并没有说明 len() 返回 bytes 的数量,所以我认为值得记录下来。
    • 对于我的教育:python 文档中是否有任何地方说明腌制对象的 len() 返回以字节为单位的长度?我没有看到它,但也许我在寻找错误的地方? docs.python.org/2/library/pickle.html
    • 好问题,我们可以从以下事实推断出,在 python 2.x 中,字符串只是字节,除非使用 unicode(默认在 3.x 中,在这种情况下必须先解码它们)。
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 2014-09-26
    • 2011-01-22
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 2020-04-07
    • 2011-04-05
    相关资源
    最近更新 更多