我的问题如下:
我在谷歌云存储中的存储桶中有两个.p(pickle文件),我想在我的jupyter笔记本上加载它们(我在VM实例上运行我的代码)。
我尝试了以下
url = "http:\\<localhost>\tree\storage.googleapis.com\<bucket-name>"
data_x = pickle.load(open(url + "\<filename>.p", "rb" ))
但它说没有这样的文件或目录。我还试图在谷歌存储上创建公共链接但没有成功。我设法以这种方式加载.mat文件和.pts文件,但我似乎无法加载.p文件。
此处发布了类似的问题:pickling python objects to google cloud storage
但它已折旧,我没有设法使用答案。
这也是一种有用的资源:https://pypi.python.org/pypi/google-cloud-storage
非常感谢你的帮助!!
答案 0 :(得分:0)
对于 Python> = 3.5 用户:
您可以做的一件事是使用Dask创作者的gcsfs
库,该库的工作原理与open
类似,但几乎只是用fs.open
代替
示例阅读:
import gcsfs, pickle
fs = gcsfs.GCSFileSystem(project = 'my-google-project')
fs.ls('my-bucket')
>>> ['my-file.txt']
with fs.open('my-bucket/my-file.txt', 'rb') as file:
print(pickle.load(file))
要写,这是相似的。您只需要用rb
将wb
替换为load
和dump