我喜欢Python交互式解释器打印字符串的方式,我想在脚本中重复这一点。但是,我似乎无法做到这一点。
实施例。我可以在翻译中这样做:
>>> a="d\x04"
>>> a
'd\x04'
但是,我不能在python本身中复制它
$ python -c 'a="d\x04";print a'
d
我想要这个,因为我想调试一个代码,其中包含大量具有类似不可打印字符的字符串。
有一种简单的方法吗?
答案 0 :(得分:6)
哦,那很快。
我可以使用repr()
功能。也就是说,在我的例子中,
python -c 'a="d\x04";print repr(a)'
答案 1 :(得分:4)
您正在寻找repr()
:
>>> a = 'd\x04'
>>> a
'd\x04'
>>> print(a)
d
>>> repr(a)
"'d\\x04'"
>>> print(repr(a))
'd\x04'
答案 2 :(得分:0)
将其设为原始字符串(如果可能)
$ python -c 'a=r"d\x04";print a'
d\x04
$ python -c 'a="d\x04";print "%r"%a'
d\x04
修改
正如你所说,你不能把它变成一个原始字符串,那么你将不得不使用另一个答案中所述的repr()
..