考虑这个字符串
'\.\r\n'
因为它是一个正则表达式,我必须将这个点转移到'。',并在POST请求中我收到" \\。"。结果是
t = '\\.\\r\\n'
Python3 unicode_escape此字符串为
In [20]: t.encode('utf-8').decode('unicode_escape')
Out[20]: '\\.\r\n'
替换字符串没有帮助
In [21]: t.replace('\\\\','\\')
Out[21]: '\\.\\r\\n'
ast.literal_eval也不起作用
In [51]: import ast
In [52]: ast.literal_eval(t)
File "<unknown>", line 1
\.\r\n
^
SyntaxError: unexpected character after line continuation character
让我们尝试在字符串中添加引号:
In [65]: ast.literal_eval('"'+t+'"')
Out[65]: '\\.\r\n'
eval是邪恶的,但仍然与literal_eval相同 那么,无论如何我还能收到原来的字符串吗?我唯一想到的是使用print
答案 0 :(得分:1)
如果您打印'\。\ r \ n',您会看到'\\。\ r \ n'。所以我认为你已经拥有了你想要的字符串。
>>> a = '\.\r\n'
>>> a
'\\.\r\n'