相关疑难解决方法(0)

在Python中处理字符串中的转义序列

有时当我从文件或用户那里获得输入时,我会得到一个包含转义序列的字符串.我想以与Python处理字符串文字中的转义序列相同的方式处理转义序列.

例如,假设myString定义为:

>>> myString = "spam\\neggs"
>>> print(myString)
spam\neggs
Run Code Online (Sandbox Code Playgroud)

我想要一个函数(我会称之为process)这样做:

>>> print(process(myString))
spam
eggs
Run Code Online (Sandbox Code Playgroud)

重要的是该函数可以处理Python中的所有转义序列(在上面链接的表中列出).

Python有功能吗?

python string escaping

93
推荐指数
4
解决办法
8万
查看次数

我如何在Python3中使用.decode('string-escape')?

我有一些需要转义的转义字符串.我想用Python做这件事.

例如,在python2.7中,我可以这样做:

>>> "\\123omething special".decode('string-escape')
'Something special'
>>> 
Run Code Online (Sandbox Code Playgroud)

我如何在Python3中完成它?这不起作用:

>>> b"\\123omething special".decode('string-escape')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
LookupError: unknown encoding: string-escape
>>> 
Run Code Online (Sandbox Code Playgroud)

我的目标是成为一个像这样的字符串:

s\000u\000p\000p\000o\000r\000t\000@\000p\000s\000i\000l\000o\000c\000.\000c\000o\000m\000
Run Code Online (Sandbox Code Playgroud)

把它变成:

"support@psiloc.com"
Run Code Online (Sandbox Code Playgroud)

在进行转换之后,我将探测我的字符串是用UTF-8还是UTF-16编码的.

python escaping python-3.x

49
推荐指数
4
解决办法
4万
查看次数

带有转义字符的json.loads

我正在尝试将此字符串转换为python dict:

q = '{"request_body": "{\\x22username\\x22:\\x222\\x22,\\x22password\\x22:\\x226\\x22,\\x22id\\x22:\\x22e2cad174-736e-3041-cf7e\\x22, \\x22FName\\x22:\\x22HS\\x22}", "request_method": "POST"}'
Run Code Online (Sandbox Code Playgroud)

当我这样做json.loads(a)给我一个错误simplejson.decoder.JSONDecodeError: Invalid \escape: line 1 column 19 (char 19).所以我决定转换\x22".我听从了这个问题的建议.

>>> q.decode('string_escape')
'{"request_body": "{"username":"2","password":"6","id":"e2cad174-736e-3041-cf7e", "FName":"HS"}", "request_method": "POST"}'
>>> 
Run Code Online (Sandbox Code Playgroud)

但那"{"部分之后无效.所以我的问题是将字符串q转换为python dict 的可能方法是什么?

python string json dictionary unicode-escapes

2
推荐指数
1
解决办法
7122
查看次数