【问题标题】:AWS Boto3(Python): saving multiple response using PathAWS Boto3(Python):使用路径保存多个响应
【发布时间】:2020-08-30 20:40:06
【问题描述】:

来自我在 AWS Rekognition (boto3 = python) 中使用的以下脚本:

pics = [f'LP {num}.jpg' for num in range(1, 5)]
for pic in pics :
    request = {
        'S3Object': {
            'Bucket': 'test1',
            'Name': pic
        }
    }
 
response = client.detect_labels(Image=request)

json_file = json.dumps(response)
Path(f"{pic}.json").write_text(json_file)

我正在尝试运行 4 个名为 LP 1、LP 2、LP 3 和 LP 4 的图像,然后将每个响应保存到一个单独的 JSON 文件中。

问题 1:我不知道为什么,但我的脚本只保存了一个响应文件,而不是全部 4 个图像。例如,如果我将范围设置为 (1,5),则仅保存 LP 4 的响应。如果我将范围设置为 (1,4),则只保存 LP 3 的响应。

问题 2:我正在尝试使用以下脚本以特定格式保存响应,但效果不佳:

    print(f"{label['Name']} - {label['Confidence']}")

谢谢!

【问题讨论】:

  • 你有错误的缩进。 response 并且脚本的其余部分不是循环的一部分。

标签: python amazon-web-services boto3 amazon-rekognition


【解决方案1】:
pics = [f'LP {num}.jpg' for num in range(1, 5)]
for pic in pics :
    request = {
        'S3Object': {
            'Bucket': 'test1',
            'Name': pic
        }
    }
    response = client.detect_labels(Image=request)
    json_file = json.dumps(response)
    # what is the value of Key? - change it during the loop 
    Path(f"{Key}.json").write_text(json_file)

【讨论】:

  • 哦,我觉得key应该改成pic或者pics,但是还是不行。
  • 请解释“不起作用”是什么意思。解释一下“钥匙”
  • 谢谢。对于 Path(f"{pic}.json").write_text(json_file),它不会保存响应的单个文件(4 个图像文件),它只保存最后一个图像的单个文件。与 Python 2 和 3 有什么关系吗?我正在使用 3。
  • Key - 在循环过程中这个变量的值是多少?你的问题是关键
猜你喜欢
  • 1970-01-01
  • 2019-05-21
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 2022-06-17
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多