使用pythonapi从googleclouddatalab上传文件到googlecloud存储桶

使用pythonapi从googleclouddatalab上传文件到googlecloud存储桶,python,google-cloud-storage,google-cloud-datalab,Python,Google Cloud Storage,Google Cloud Datalab,我试图使用pythonapi将笔记本中的Datalab实例中的文件上传到我的Google存储桶中,但我无法理解。谷歌在其文档中提供的数据在Datalab中似乎不起作用。我目前正在使用gsutil命令,但希望了解如何在使用Python API时做到这一点 文件目录(我想上传位于checkpoints文件夹中的python文件): 当前代码: import google.datalab.storage as storage from pathlib import Path bucket = sto

我试图使用pythonapi将笔记本中的Datalab实例中的文件上传到我的Google存储桶中,但我无法理解。谷歌在其文档中提供的数据在Datalab中似乎不起作用。我目前正在使用gsutil命令,但希望了解如何在使用Python API时做到这一点

文件目录(我想上传位于checkpoints文件夹中的python文件):

当前代码:

import google.datalab.storage as storage
from pathlib import Path

bucket = storage.Bucket('machine_learning_data_bucket')


for file in Path('').rglob('*.py'):
    # API CODE GOES HERE
目前的工作方案:

!gsutil cp checkpoints/*.py gs://machine_learning_data_bucket

这是对我有用的代码:

from google.cloud import storage
from pathlib import Path

storage_client = storage.Client()
bucket = storage_client.bucket('bucket')

for file in Path('/home/jupyter/folder').rglob('*.py'):
    blob = bucket.blob(file.name)
    blob.upload_from_filename(str(file))
    print("File {} uploaded to {}.".format(file.name,bucket.name))

输出:

File file1.py uploaded to bucket.
File file2.py uploaded to bucket.
File file3.py uploaded to bucket.
File file1.py uploaded to bucket.
File file2.py uploaded to bucket.
File file3.py uploaded to bucket.
编辑 或者您可以使用:

import google.datalab.storage as storage
from pathlib import Path

bucket = storage.Bucket('bucket')

for file in Path('/home/jupyter/folder').rglob('*.py'):
    blob = bucket.object(file.name)
    blob.write_stream(file.read_text(), 'text/plain')
    print("File {} uploaded to {}.".format(file.name,bucket.name))
输出:

File file1.py uploaded to bucket.
File file2.py uploaded to bucket.
File file3.py uploaded to bucket.
File file1.py uploaded to bucket.
File file2.py uploaded to bucket.
File file3.py uploaded to bucket.

忘了提一下我正试着在笔记本上运行这个。当我尝试从google.cloud导入存储时,我得到了导入错误:无法导入名称“存储”如果您检查我的代码中的路径,您可以从我的笔记本中看到我这样做了。我怀疑您必须安装
pip安装--升级谷歌云存储