使用Python和Boto3解压.zip文件并传输到S3 Bucket的步骤如下:
import boto3
import zipfile
import os
s3 = boto3.client('s3')
def unzip_file(file_path, destination_path):
with zipfile.ZipFile(file_path, 'r') as zip_ref:
zip_ref.extractall(destination_path)
def upload_to_s3(file_path, bucket_name, s3_key):
s3.upload_file(file_path, bucket_name, s3_key)
# 定义本地zip文件路径和解压后的目标路径
zip_file_path = 'path/to/your/zip/file.zip'
destination_path = 'path/to/your/destination/folder/'
# 解压zip文件
unzip_file(zip_file_path, destination_path)
# 遍历解压后的文件夹,上传到S3 Bucket
for root, dirs, files in os.walk(destination_path):
for file in files:
file_path = os.path.join(root, file)
s3_key = 'your/s3/key/' + file # 替换为你想要的S3 Key
upload_to_s3(file_path, 'your-bucket-name', s3_key) # 替换为你的S3 Bucket名称
以上代码将会解压指定的.zip文件,并将解压后的文件逐个上传到指定的S3 Bucket中。你需要将代码中的路径和S3 Bucket名称替换为你自己的实际值。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,具体实现方式可能因环境和需求而异。
领取专属 10元无门槛券
手把手带您无忧上云