UnpicklingError无效的加载密钥,'{'

Aam*_*nan 10 python mysql pickle

我正在处理一个应用程序Django.我试图e.g. dictionaryMySQLdb中存储一些数据结构.所以我使用Python Pickle模块.当我使用db存储它时,它工作正常pickle.dumps(some_structure).我的DB字段是longblob模式binary.

但是当我访问django中的模型对象的字段时:

obj = someModel.get(pk=1)
some_structure = obj.field
content  = pickle.loads(some_structure)
Run Code Online (Sandbox Code Playgroud)

它会引发以下错误:

UnpicklingError: invalid load key, '{'.
Run Code Online (Sandbox Code Playgroud)

请帮助我,我试过谷歌,但它没有帮助我,也有一个类似的问题,但它与我的问题无关,因为我存储在数据库中.

ein*_*ent 16

我遇到了这个错误,我发现这是因为我试图破坏原本没有被腌制的东西.

更具体地说,我存储了一个Python字典而没有腌制它,导致了最初的字符{.

因此,要解决这个问题,你应该尝试:

  • 从数据存储区检索时不要取消对字符串的修改,或者
  • 在插入数据存储区之前验证是否正在对对象进行pickle

  • 另一种方法可能发生:尝试取消**Git LFS**文件,而不进行适当的LFS克隆. (4认同)