使用boto3(python 3.x)维护文件结构,将文件上传到aws s3 bucket



我想将文件从磁盘上传到维护不同文件夹结构的aws s3 bucket。我可以制作与磁盘上相同的结构,但需要对结构进行一点更改。

磁盘上的文件夹结构为:/home/userdata/uploaded_folder/uploaded_file

我想在aws bucket上维护的文件夹(密钥(结构是:

/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))

上面的代码在bucket中生成了确切的结构。如何改变路径?

正确的行

path = root.split(os.path.sep)[1:]

path = root.split(os.path.sep)[2:]

root.split(os.path.sep(中的第一个元素是"而不是"home">

最新更新