Google Cloud Storage - Move file from one folder to another - By using Python(Google Cloud Storage - 将文件从一个文件夹移动到另一个文件夹 - 使用 Python)
问题描述
我想将文件列表从谷歌存储移动到另一个文件夹:
I would like to move a list of file from google storage to another folder:
storage_client = storage.Client()
count = 0
# Retrieve all blobs with a prefix matching the file.
bucket=storage_client.get_bucket(BUCKET_NAME)
# List blobs iterate in folder
blobs=bucket.list_blobs(prefix=GS_FILES_PATH, delimiter='/') # Excluding folder inside bucket
for blob in blobs:
if fnmatch.fnmatch(blob.name, FILE_PREF):
WHAT CAN GO HERE?
count += 1
我在 Google 文档中找到的唯一有用信息是:
The only useful information which I found in Google Documentation is:
- https://cloud.google.com/storage/docs/重命名复制移动对象
根据本文档,唯一的方法是从一个文件夹复制到另一个文件夹并删除它.
By this documentation, the only method is to copy from one folder to another and delete it.
- 有什么方法可以实际移动文件?
- 根据前缀移动所有文件的最佳方法是什么,例如
*BLABLA*.csv
附:不想用
"gsutil mv gs://[SOURCE_BUCKET_NAME]/[SOURCE_OBJECT_NAME]gs://[DESTINATION_BUCKET_NAME]/[DESTINATION_OBJECT_NAME]"
推荐答案
这可能是一个可能的解决方案,因为 google.cloud.storage 中没有 move_blob 函数:
This could be a possible solution, as there is no move_blob function in google.cloud.storage:
from google.cloud import storage
dest_bucket = storage_client.create_bucket(bucket_to)
source_bucket = storage_client.get_bucket(bucket_from)
blobs = source_bucket.list_blobs(prefix=GS_FILES_PATH, delimiter='/') #assuming this is tested
for blob in blobs:
if fnmatch.fnmatch(blob.name, FILE_PREF): #assuming this is tested
source_bucket.copy_blob(blob,dest_bucket,new_name = blob.name)
source_bucket.delete_blob(blob.name)
这篇关于Google Cloud Storage - 将文件从一个文件夹移动到另一个文件夹 - 使用 Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Google Cloud Storage - 将文件从一个文件夹移动到另一个文件夹 - 使用 Python
基础教程推荐
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
