gpt4 book ai didi

python - 打印和返回得到不同的结果

转载 作者:行者123 更新时间:2023-11-30 22:43:52 25 4
gpt4 key购买 nike

我目前正在用 python 开发 lambda,实际上在用 python 构建 json 方面有点困难。

lambda 从 dynamodb-table 读取并将所有返回值添加到 json 结构中。

这就像打印该 json 的魅力,但不能将其作为回调返回。

示例代码:

import json

def lambda_handler(event, context):
jsondata = '{' \
'"cols": [' \
'{"id":"","label":"Timestamp","pattern":"","type":"string"},' \
'{"id":"","label":"Temperature","pattern":"","type":"number"},' \
'{"id":"","label":"Humidity","pattern":"","type":"number"}' \
'],' \
'"rows": ['
jsondata += ']' \
'}'
print jsondata
return jsondata

if __name__ == "__main__":
lambda_handler(None, None)

在我看来,这种“字符串添加”并不是最顺利的方法,但它是唯一有效的方法

当打印看起来符合预期时:

log output

返回值包含反斜杠,这使得返回值对我来说无法使用。

enter image description here

由于应用程序仅在 shell 上打印,因此它正确显示值:

shell output

有什么想法吗?

提前干杯并致谢,马蒂亚斯

最佳答案

该字符串不包含反斜杠。它的表示确实如此,因为它必须表明字符串(由""分隔)不会在出现"时结束.如果您必须在由同一引号分隔的字符串文字内写入引号,则还必须使用反斜杠对其进行转义。

也就是说,使用 json 模块中的 dumps 函数构建 json 会更容易:

import json

jsondata = json.dumps({
"cols": [{"et": "cetera"}],
})

关于python - 打印和返回得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41652144/

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