Python打印字符串,其间带有“+”号

时间:2017-04-19 22:48:18

标签: python string unicode

我通过将POST有效负载从网站转换为JSON并在Python中的comments字段中提取值来提取网站中的评论。

JSON看起来像这样:

{
    .
    .
    "comment": "The Quick Brown Fox Jumped Over The Lazy Dog"
    .
    .
}

当我使用print()功能打印评论时,评论的打印方式如下:+ Quick + Brown + Fox + Jumped + Over + + Lazy + Dog

评论的类型似乎是“unicode”。我尝试了herehere所提到的所有内容,但这些都没有解决我的问题。

我正在使用python 2.7。现在我打算将其打印用于调试目的,但我想稍后将其存储在数据库中。所以我需要一个永久的解决方案来将unicode转换为字符串。

编辑:我使用var = json.loads(payload_from_POST)将POST有效负载转换为JSON。然后我通过var ['comment']提取“comment”的值。

1 个答案:

答案 0 :(得分:1)

这是将请求字符串解析为适当的字典表示的问题。为此,您可以使用parse_qs功能。

在Python 2中,

from urlparse import parse_qs

var = parse_qs(payload_from_POST)
print var['comment'][0]

在Python 3中

from urllib.parse import parse_qs

var = parse_qs(payload_from_POST)
print(var['comment'][0])


重要提示:parse_qs将返回一个JSON,用于将键映射到列表,而不是字符串。因此,为了实际打印“快速的棕色狐狸跳过懒狗”,你必须访问var['comment'][0],因为var['comment']只会返回一个包含一个元素的列表。

相关问题