我有一些带控制字符的字符串,我想要让它们可见(例如打印文档)。
例如,我有:
dialect = csv.sniffer().sniff(csvfile.read(1024))
我想打印出
的内容。dialect.lineterminator
这段文本显然包含控制字符。在它们前面加上“\”并不能使它们可打印。我希望能看到适当的 \n 或 \r,或者两者都有。
由于我正在使用 Python 3,类似的问题已经提出了使用 str.encode 的解决方案,例如:
dialect.lineterminator.encode('unicode-escape')
但是如果我打印这个,我会得到:
b'\\r\\n'
尽管它看起来很长,但实际上只有两个字节。我需要一个Unicode字符串,例如:
"\\r\\n"
这是一个由四个字符组成的字符串。我不需要unicode编码,而是需要转义序列。
repr(dialect.lineterminator)
或者可能是repr(dialect.lineterminator)[1:-1]
。 - 4dummies