Python - 字符串格式化将转义字符转换为文字
Python - String formatting convert escaped characters to literals
我必须向后端发送一个字符串请求。我有 2 个变量,我必须在请求的字符串中格式化它们。请求必须如下所示:
"{\"MachineType\":0,\"BrokenMachines\":6}"
我有 2 个名为 type
和 count
的变量,我想将它们放入请求中(示例中的 0 为 type
,6 为 count
).我已经尝试了几乎所有我知道的方法,但我仍然无法获得带有转义字符的字符串,python 将它们转换为文字。这些是我尝试过的一些解决方案:
尝试:
("{\"MachineType\":" + str(type) + ",\"BrokenMachines\":" + str(count) + "}").encode('unicode_escape').decode('ASCII')
结果:
'{"MachineType":1,"BrokenMachines":6}'
尝试:
'{{\"MachineType\":{},\"BrokenMachines\":{}}}'.format(type, count).encode('unicode_escape').decode('ASCII')
结果:
'{"MachineType":1,"BrokenMachines":6}'
尝试:
"{{\\"MachineType\\":{},\\"BrokenMachines\\":{}}}".format(type, count)
结果:
'{\"MachineType\":1,\"BrokenMachines\":6}'
我怎样才能让它发挥作用?
您可以使用单引号或双引号来表示字符串,因此如果您的字符串需要包含一个,则使用另一个。您也可以使用 r 字符串来转义所有特殊字符。
r'"{\"MachineType\":0,\"BrokenMachines\":6}"'
我必须向后端发送一个字符串请求。我有 2 个变量,我必须在请求的字符串中格式化它们。请求必须如下所示:
"{\"MachineType\":0,\"BrokenMachines\":6}"
我有 2 个名为 type
和 count
的变量,我想将它们放入请求中(示例中的 0 为 type
,6 为 count
).我已经尝试了几乎所有我知道的方法,但我仍然无法获得带有转义字符的字符串,python 将它们转换为文字。这些是我尝试过的一些解决方案:
尝试:
("{\"MachineType\":" + str(type) + ",\"BrokenMachines\":" + str(count) + "}").encode('unicode_escape').decode('ASCII')
结果:
'{"MachineType":1,"BrokenMachines":6}'
尝试:
'{{\"MachineType\":{},\"BrokenMachines\":{}}}'.format(type, count).encode('unicode_escape').decode('ASCII')
结果:
'{"MachineType":1,"BrokenMachines":6}'
尝试:
"{{\\"MachineType\\":{},\\"BrokenMachines\\":{}}}".format(type, count)
结果:
'{\"MachineType\":1,\"BrokenMachines\":6}'
我怎样才能让它发挥作用?
您可以使用单引号或双引号来表示字符串,因此如果您的字符串需要包含一个,则使用另一个。您也可以使用 r 字符串来转义所有特殊字符。
r'"{\"MachineType\":0,\"BrokenMachines\":6}"'