没有\ n和\ t返回的python对象

时间:2017-04-01 06:43:30

标签: python string printing

如何在我创建的字符串对象中获取返回以确认/ n和/ t的python对象?

我无法使用print,需要让我的函数将返回的字符串对象分配给输出,当我输入输出时,它将按照我希望的方式打印出来。

目前我的输出是:

>>> output = function(input_data)
>>> output
'1\t2\t100\nALL\t100\n2\t1\t20\nALL\t20\nALL\t1\t20\n2\t100\nALL\t120\n'

但我希望它是这样的:

>>> output = function(input_data)
>>> output
1   2   100
ALL 100
2   1   20
ALL 20
ALL 1   20
2   100
ALL 120

1 个答案:

答案 0 :(得分:2)

尽管两个输出都是同一个对象,但唯一的区别是print(output)打印__str__ output方法,这通常更加用户友好。仅输入output打印__repr__的{​​{1}}方法,有时将其称为" raw"输出。

但是,通过创建自定义对象output的子类,可以解决此问题,如下所示:

str

此对象会覆盖默认的>>> class cusstr(str): def __repr__(self): return self.__str__() >>> output = function(input_data) # your function... >>> output = cusstr(output) >>> output 1 2 100 ALL 100 2 1 20 ALL 20 ALL 1 20 2 100 ALL 120 ,并使其返回__repr__