【发布时间】:2018-10-07 20:36:26
【问题描述】:
我从 AWS SQS 获取消息 ID,格式如下:
u'messageId': u'9c8a1bff-9ef2-411e-a163-ce631856ded3'
我获取 messageid 值并使用以下内容进行解码:
messageid =message['messageId']
messageid =jobgroupid.encode('ascii','ignore')
messageid =messageid .replace("''", "")
当我在 python 中打印它时,它只显示字符串值而不显示引号。
9c8a1bff-9ef2-411e-a163-ce631856ded3
然后将其作为 dat 文件上传到 s3。我在本地抓取 dat 文件,然后读取该文件并显示以下内容:
'9c8a1bff-9ef2-411e-a163-ce631856ded3'
为什么这段文字周围还有单引号?
【问题讨论】:
-
您是否同意仅使用您提供的代码无法重现这个问题?请尽量减少。例如从字符串中删除单引号? (输出是什么),它不需要依赖 AWS/SQS。或者您是否在没有单引号的情况下调用 SQS(如何?)并且添加它们?等等stackoverflow.com/help/mcve
-
建议您通过暂时删除 SQS 和编码步骤来简化此操作。只需获取一个字符串,将其写入 S3,然后检索它。先让它发挥作用。
-
仅供参考,如果正在打印字典的内容,则数据中没有引号。在 Python 2 中打印字典或列表会显示带有引号的字符串、不可打印和非 ASCII 字符的转义码以及前导
u以区分 Unicode 和字节字符串。这样您就可以知道容器的确切内容。 minimal reproducible example 会有所帮助。 -
什么是
jobgroupid?
标签: python amazon-web-services unicode ascii amazon-sqs