【问题标题】:getresponse() returns tuple back as stringgetresponse() 将元组作为字符串返回
【发布时间】:2021-05-15 02:13:39
【问题描述】:

您好,我试图从 aws lambda 函数中获取多个变量和一个列表,但我只能返回一个值(变量或列表)。我尝试将它们都作为元组返回,但是当我尝试提取元组时它是一个字符串。我计划使用元组中的对象,并需要将它们提取为与它们相同的类型。如何将它们都作为原始类型返回

这就是我的 aws lambda 函数中元组的样子

tup = (value1,[1,2,3])

从我的烧瓶应用程序中读取 lambda 函数的响应


response = c.getresponse()
data = response.read().decode('utf-8')[0]

但是当我尝试索引我的元组并执行 data[0] 时,它会打印出我假设它被读取为字符串的第一个括号

【问题讨论】:

  • 在网络上全部以字符串/文本或字节的形式发送。您应该将所有数据转换为 JSON 并将其返回 - 在烧瓶中您应该将 JSON 转换回数据。你不能发送对象。您将尝试使用pickle 将对象转换为字节并发送它 - 如果烧瓶具有用于创建对象的类的定义,则烧瓶可能会尝试将其转换回来。所以 JSON 看起来更简单,更安全地发送数据 - 许多(www)服务器使用 JSON 。例如Flaskjsonify() 以JSOn 发送信息。

标签: python flask https tuples


【解决方案1】:

您可以像这样以 JSON 格式发送您的回复。

data = { "value1": value1, "list": [1,2,3] }
return data

创建一个包含您要作为响应发送的所有值的字典并返回它。

【讨论】:

    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多