Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 转义后如何在控制台中检查输出?_Python_Python 3.x - Fatal编程技术网

Python 转义后如何在控制台中检查输出?

Python 转义后如何在控制台中检查输出?,python,python-3.x,Python,Python 3.x,假设有两个字符串: str1='a\ba' str2='a' 如果我们使用print来显示这些字符串,则所有字符串都将打印a 但是很明显,str1==str2是False。转义后如何检查它们是否相同 预期的输出,如:f(str1)=str2为True,f()是转义后获取字符串的函数 我并不期待通过一些算术方法来实现这一点。\b在ASCII中是退格(BS),它不会显示在打印函数中 1。如果希望在打印功能中显示,可以使用: >>> print(repr(str1)) 'a\x08

假设有两个字符串:

str1='a\ba'
str2='a'
如果我们使用
print
来显示这些字符串,则所有字符串都将打印
a

但是很明显,
str1==str2
False
。转义后如何检查它们是否相同

预期的输出,如:
f(str1)=str2
True
f()
是转义后获取字符串的函数

我并不期待通过一些算术方法来实现这一点。

\b在ASCII中是退格(BS),它不会显示在打印函数中

1。如果希望在打印功能中显示,可以使用:

>>> print(repr(str1))
'a\x08a'
2.如果要将此str1用作打印,需要删除退格:

>>> re.sub('.\b', '', str1)
'a'

是否要检查打印后字符串是否不同?还是在什么阶段?@pavel是的,我只是想知道打印后字符串是否不同。这是否回答了您的问题?这取决于终端;请参阅上的注释。您可能误解了我的意思。谢谢,这接近我想要的。第二种方法对于
ab\b\bc
之类的字符串失败。它应该给出
c
,而不是
a\bc
。抄送@KevinMayo@BrianMcCutchon是的~这只是一个例子,它可以再次执行
a\bc
的re.sub(),得到
c
@BrianMcCutchon是的,谢谢你的解释,所以最后,我不得不使用一些算术方法来实现。