打印字符串时是否可以显示space、tab等特殊字符?
Is it possible to display special characters such as space, tab etc. when printing a string?
例如我有一个字符串
line = r'I like cakes'
这样打印可以吗?
I\s like\s cakes
repr()
在这种情况下不起作用
您可以通过用预期的顺序替换空格来实现此目的:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> line = r'I like cakes'
>>> print(line.replace(" ", "\s "))
I\s like\s cakes
要同时支持标签,您可以使用:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> line = "I like\tcakes"
>>> print(line)
I like cakes
>>> print(line.replace(" ", "\s ").replace("\t", "\t"))
I\s like\tcakes
您可以通过 Python String replace() Method:
line = r'I like cakes'
print(line.replace(" ", "\s "))
输出:
I\s like\s cakes
实现此目的的一种方法是为每个要替换的字符创建一个替换字典。
rep_dict = {' ': '\s', '\n': '\n', '\t': '\t'}
以下函数将执行必要的替换:
def quote(s):
return "".join(repr_dict.get(c, c) for c in s)
repr_dict.get
调用尝试在字典中查找字符,并使用字符本身作为查找失败的默认值。
例如我有一个字符串
line = r'I like cakes'
这样打印可以吗?
I\s like\s cakes
repr()
在这种情况下不起作用
您可以通过用预期的顺序替换空格来实现此目的:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> line = r'I like cakes'
>>> print(line.replace(" ", "\s "))
I\s like\s cakes
要同时支持标签,您可以使用:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> line = "I like\tcakes"
>>> print(line)
I like cakes
>>> print(line.replace(" ", "\s ").replace("\t", "\t"))
I\s like\tcakes
您可以通过 Python String replace() Method:
line = r'I like cakes'
print(line.replace(" ", "\s "))
输出:
I\s like\s cakes
实现此目的的一种方法是为每个要替换的字符创建一个替换字典。
rep_dict = {' ': '\s', '\n': '\n', '\t': '\t'}
以下函数将执行必要的替换:
def quote(s):
return "".join(repr_dict.get(c, c) for c in s)
repr_dict.get
调用尝试在字典中查找字符,并使用字符本身作为查找失败的默认值。