gpt4 book ai didi

python - 将文件上传到 s3 存储桶时遇到 boto3 问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:18:50 25 4
gpt4 key购买 nike

我制作了一个简单的脚本,我在其中将文件上传到 s3 存储桶。我的代码如下,非常简单。

bucket = "my-bucket"
file_name = "/my-file-path/download.jpeg"
key_name = None
s3 = boto3.client("s3")

if key_name is None:
key_name = file_name.split('/')[-1]
s3.upload_file(file_name, bucket, key_name)

所以我想要实现的是,如果有人不传递 key 名称或 key 名称为 None,则文件名成为 key 名称并上传到 s3 存储桶。

如果我传递键名,上面的代码工作正常,但是当我在键名中传递 None 时,它​​就不会工作,我调试我的代码,我发现了这个

-> key_name = file_name.split('/')[-1]
(Pdb) key_name
'download.jpeg'
(Pdb) next
--Call--
> /usr/lib/python3.6/threading.py(1279)_shutdown()
-> def _shutdown():
(Pdb)
> /usr/lib/python3.6/threading.py(1285)_shutdown()
-> tlock = _main_thread._tstate_lock

最后文件不会上传到 s3。如果有人对此有任何想法,请提供帮助。我们一定会感谢您的帮助。

最佳答案

我会将其放入函数中并进行测试。例如:

def upload(file_name, bucket="my-bucket",key_name=None):
if not key_name:
key_name = file_name.split('/')[-1]
s3 = boto3.client("s3")
s3.upload_file(file_name, bucket, key_name)

关于python - 将文件上传到 s3 存储桶时遇到 boto3 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56420644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com