4du*_*ies 3 python escaping control-characters
我有包含控制字符的字符串,我想让它们可见(例如,用于打印它们的文档)。
例如,我有
dialect = csv.sniffer().sniff(csvfile.read(1024))
Run Code Online (Sandbox Code Playgroud)
我想打印的内容
dialect.lineterminator
Run Code Online (Sandbox Code Playgroud)
这显然包含控制字符。通过在它们前面粘贴“\”,它们不会变得可打印。我希望看到 \n \r 或两者,视情况而定。
由于我使用的是 Python 3,因此使用 str.encode 提出了类似的问题,例如
dialect.lineterminator.encode('unicode-escape')
Run Code Online (Sandbox Code Playgroud)
但如果我打印这个,我会得到
b'\\r\\n'
Run Code Online (Sandbox Code Playgroud)
尽管它的外观,它只是两个字节。我想要一个 unicode 字符串,例如
"\\r\\n"
Run Code Online (Sandbox Code Playgroud)
这是一个 4 个字符的字符串。我不是在 unicode 编码之后,而是在转义序列之后。
您可以将字符串转换为原始字符串:
>>> a = 'foo\nbar'
>>> print a
foo
bar
>>> print a.encode('string-escape')
foo\nbar
Run Code Online (Sandbox Code Playgroud)
注意:这仅适用于 Python2,在 3 中等效于str.encode('unicode_escape')AFAIK
| 归档时间: |
|
| 查看次数: |
13766 次 |
| 最近记录: |