使用Python在Google云存储桶中创建/上传新文件

2024-05-08 09:12:02 发布

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

如何使用Python在Google云存储中创建新的空文件,并提供客户端库?

或者如何使用blob函数“upload_from_filename()”将新文件上载到选定的存储桶?要初始化blob对象,我们应该在cloud bucket中已有文件,但我想创建一个新的文件名,并从本地存储的文件复制内容。我想用python做这个。

提前谢谢


Tags: 文件对象函数fromcloud客户端内容bucket
2条回答

首先你需要加载库

import google.cloud.storage

假设您已经创建了一个服务帐户并在某个地方加载了JSON文件,则需要创建一个client对象

storage_client = google.cloud.storage.Client.from_service_account_json('JSON filepath')

然后需要提供create a bucket对象

bucket = storage_client.get_bucket('bucket_name')

现在定义bucket中的路径和文件名

d = 'path/name'

blob方法创建新文件,也是一个对象。

d = bucket.blob(d)

upload_from_string方法添加文件的内容。还有其他方法允许您执行不同的任务。

d.upload_from_string('V')

最初的几步走得最长,以便第一次做好准备。

祝你好运!

如果有人在寻找同样的东西,这里是解决办法。首先,需要使用要在中创建新blob的bucket名称创建/初始化bucket变量。在此之后,如果给定的文件名不在bucket.blob(“filename”)中,则将创建一个新的blob,而不是使用bucket.blob(“filename”)调用blob。然后您可以使用blob.create_from_filename(“filename_which_you want to copy”),这将把内容复制到先前创建的blob中,以获得更详细的解决方案您可以在此处阅读blob文档:

https://googlecloudplatform.github.io/google-cloud-python/stable/storage-blobs.html

希望这对某人有帮助。下面是示例python代码:

client=storage.Client();  
bucket=client.get_bucket('your bucket name');  
blob=bucket.blob('newfile you want to create')
blob.upload_from_filename('localdirectory/filename.mp4')

相关问题 更多 >