Google Cloud Storage - 将文件从一个文件夹移动到另一个文件夹 - 使用 Python

2023-11-07Python开发问题
2

本文介绍了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.

  1. 有什么方法可以实际移动文件?
  2. 根据前缀移动所有文件的最佳方法是什么,例如 *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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10

按10分钟间隔对 pandas 数据帧进行分组
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)...
2024-08-22 Python开发问题
11