簡體   English   中英

使用boto3(python 3.x)將文件上傳到AWS S3存儲桶中以保持文件結構?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM