[英]Uploading files to aws s3 bucket with boto3(python 3.x) maintaining the file structure?
我想将文件从磁盘上传到AWS s3存储桶,以保持不同的文件夹结构。 我能够制作与磁盘上相同的结构,但需要对结构进行一些更改。
磁盘上的文件夹结构为: /home/userdata/uploaded_folder/uploaded_file
我要在AWS Bucket上保留的folder(key)结构是:
/userdata/uploaded_folder/uploaded_file/
我当前的代码是这样的:
from boto.s3.connection import S3Connection
from boto.s3.key import Key
import os
conn = S3Connection()
path = '/home/userdata/'
bucket = conn.get_bucket('myBuck')
for root, dirs, files in os.walk(path):
for name in files:
#print(root)
path = root.split(os.path.sep)[1:]
path.append(name)
#print(path)
key_id = os.path.join(*path)
k = Key(bucket)
k.key = key_id
#print(key_id)
#k.set_contents_from_filename(os.path.join(root, name))
上面的代码在存储桶中具有确切的结构。 如何改变路径?
正确的线
path = root.split(os.path.sep)[1:]
至
path = root.split(os.path.sep)[2:]
root.split(os.path.sep)中的第一个元素不是``home''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.