如何在googleappengine数据存储中存储socket对象(aka can I pickle a socket object)

2024-04-24 05:48:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在基于GAE Python的应用程序中将Socket对象存储到datastore/memcache中。你知道吗

我采取的方法是 1使用泡菜.垃圾将套接字对象转换为字符串 2需要时,检索此字符串并使用pickle.loads(<pickledSock>)取消拾取

完整的错误信息如下,但主要部分是:

TypeError: __init__() got an unexpected keyword argument '_sock'

这是否意味着我不能使用上述方法,因为“取消勾选”将不起作用?你知道吗

ssl_sock2Use=pickle.loads(pickledSock)
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/pickle.py", line 1382, in loads
    return Unpickler(file).load()
  File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/pickle.py", line 1217, in load_build
    setstate(state)
  File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/socket.py", line 181, in __setstate__
    self.__init__(_sock=_sock)
TypeError: __init__() got an unexpected keyword argument '_sock'

Tags: inpyhomedatabaseinitlibdist