x
Out[18]: '\x1b[24m\x1b[1m\x1b[2;1HPressure Index \r\n'
print x
Pressure Index
str(x)
Out[20]: '\x1b[24m\x1b[1m\x1b[2;1HPressure Index \r\n'
x.__str__()
Out[21]: '\x1b[24m\x1b[1m\x1b[2;1HPressure Index \r\n'
我不明白print语句如何清除变量中的所有垃圾字符。我已经有一个解决方法,在" 1H"之后拆分文本。并剥离新行字符,但我很好奇我如何能够更严格地做到这一点并获得清晰的print输出成为我的变量。 print语句用于清理文本的内容是什么?
在做了一些进一步阅读之后,我尝试将__str__
作为课程的一部分来实现,但是我在实现这个方面遇到了麻烦。以下是我的第一次尝试
class readable(str):
def __str__(self):
return str(self)
但我还是得到了
y=readable(x)
y
Out[50]: '\x1b[24m\x1b[1m\x1b[2;1HPressure Index \r\n'
编辑: 我想要的输出是print语句输出。我试图去除所有额外字符的变量,这样它就只是一个字符串读数'压力指数'
答案 0 :(得分:2)
\x1b
是 Escape 字符(也可以在字符串中写为\e
),ESC [ <number> m
是用于更改各种文本的转义序列模式(粗体,下划线,颜色等)。 print
按原样打印控制字符,而不是尝试将它们显示为转义序列,因此您不会在输出中看到它们,它们会对终端产生所需的效果。您可以在ANSI Escape Sequences上的维基百科页面中阅读有关这些转义序列的信息。
如果要将变量设置为使用转义序列显示的表示,请使用repr()
函数:
y = repr(x)
print y