【问题标题】:Add single quotes to a variable in Python在 Python 中为变量添加单引号
【发布时间】:2017-12-17 05:56:26
【问题描述】:

我有一个看起来像这样的变量:

data = {"add_content": {"errata_ids": [advisory]},"content_view_version_environments": [{"content_view_version_id": version_id}]}

我需要为这个变量添加单引号,即如果我将分配变量:

advisoryversion_id 并将单引号添加到数据变量中,如下所示:

data = '{"add_content": {"errata_ids": ["RHSA-2017:1390"]},"content_view_version_environments": [{"content_view_version_id": 160}]}'

我可以发布到 API

我尝试过以多种方式添加单引号:

new_data = "'" + str(data) + "'"
>>> new_data
'\'{\'add_content\': {\'errata_ids\': [\'"RHSA-2017:1390"\']}, \'content_view_version_environments\': [{\'content_view_version_id\': \'160\'}]}\'' 

或使用:

'"%s"'%(data)

还有更多方法。

如何在打开{和关闭}之前和之后将单引号添加到数据变量的外部?

【问题讨论】:

  • 您要创建的是 JSON,因此请使用 json 模块。
  • dict 实例的 Python 字符串表示不一定是有效的 JSON。

标签: python


【解决方案1】:

这正是 JSON 所做的:

import json
new_data = json.dumps(data)

【讨论】:

    【解决方案2】:

    如果与之前的答案和 cmets 不同,您没有尝试转换为 json 字符串,则在变量周围使用 string.format:

    data = {"add_content": {"errata_ids": '[{}]'.format(advisory)},"content_view_version_environments": [{"content_view_version_id": '{}'.format(version_id)}]}
    

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 2018-03-04
      • 2017-09-06
      • 2021-10-17
      • 2016-03-08
      相关资源
      最近更新 更多