如何解压已托管在 Python 中的 Web URL 中的文件

Kar*_*raj 4 python pickle

pickle 和 unpickle 对象的正常方法如下:

腌制一个对象:

import cloudpickle as cp

cp.dump(objects, open("picklefile.pkl", 'wb'))
Run Code Online (Sandbox Code Playgroud)

UnPickle一个对象:(加载pickle文件):

loaded_pickle_object = cp.load(open("picklefile.pkl", 'rb'))
Run Code Online (Sandbox Code Playgroud)

现在,如果腌制对象托管在服务器中,例如谷歌驱动器:如果我直接在路径中提供该对象的 URL,我将无法解开该对象。以下不起作用:我得到一个IOERROR

UnPickle一个对象:(加载pickle文件):

loaded_pickle_object = cp.load(open("https://drive.google.com/file/d/pickled_file", 'rb')) 
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何将腌制文件加载到 Web URL 中托管的 python 中吗?

小智 6

将 gdrive 腌制文件导入 Python 3 colab 时,以下对我有用:

from urllib.request import urlopen
loaded_pickle_object = cp.load(urlopen("https://drive.google.com/file/d/pickled_file", 'rb')) 
Run Code Online (Sandbox Code Playgroud)

  • 不适合我: TypeError: POST data should be bytes, an iterable of bytes, or a file object. 它不能是 str 类型。有任何想法吗? (3认同)
  • 删除“rb”参数,它被视为数据并触发 POST。 (2认同)