Google Cloud Storage使用python批量上传文件

假如我们有如下文件:

1.zip

2.zip

3.zip

4.zip

5.zip

6.zip

7.zip

8.zip

需要将其上传至gcs

简单的代码如下:

from google.cloud import storage


ls=[]
ls.append('1.zip')
ls.append('2.zip')
ls.append('3.zip')
ls.append('4.zip')
ls.append('5.zip')
ls.append('6.zip')
ls.append('7.zip')
ls.append('8.zip')


storage_client = storage.Client()
bucket = storage_client.bucket('XXXX')
for i in ls:
  blob = bucket.blob(i)
  blob.upload_from_filename(i)

但是想要更好的维护性,决定使用装饰器:

from google.cloud import storage

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

ls=[]  
def ap(f):
    ls.append(f)
    return f

@ap
def _file1():
    blob = bucket.blob('1.zip')
    blob.upload_from_filename('1.zip')
    return 0
@ap
def _file2():
    blob = bucket.blob('2.zip')
    blob.upload_from_filename('2.zip')
    return 0   
   
@ap
def _file3():
    blob = bucket.blob('3.zip')
    blob.upload_from_filename('3.zip')
    return 0   

@ap
def _file4():
    blob = bucket.blob('4.zip')
    blob.upload_from_filename('4.zip')
    return 0
   
@ap
def _file5():
    blob = bucket.blob('5.zip')
    blob.upload_from_filename('5.zip')
    return 0
   
@ap
def _file6():
    blob = bucket.blob('6.zip')
    blob.upload_from_filename('6.zip')
    return 0   
   
@ap
def _file7():
    blob = bucket.blob('7.zip')
    blob.upload_from_filename('7.zip')
    return 0   
    
@ap
def _file8():
    blob = bucket.blob('8.zip')
    blob.upload_from_filename('8.zip')
    return 0   
   
def upload():
    for f in ls:
        f() 
   
upload()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值