在打印Python期间包装文本

时间:2013-06-07 09:00:30

标签: python python-3.x

我连续打印了几个变量。其中一个变量是一个非常长的字符串,我想要包装文本(目前它在一行的末尾打印半个字,如果必须的话)所以我希望整个单词从下一行开始如果全部它不适合上一行。

例如:

print(item.name,":",item.description,"\n\nValue :",item.value)

我需要item.decription来包装。如果有帮助的话,我可以把整个包装好,但我不想在任何情况下最终在屏幕上留下字符。我试过了:

import textwrap
print(item.name,":",textwrap.wrap(item.description),"\n\nValue :",item.value)

但这不起作用。单词不包装,我在输出中得到方括号字符和随机逗号。我应该如何完成一个非常简单的包装呢?

1 个答案:

答案 0 :(得分:8)

使用textwrap.fill()代替,它使用换行符加入行:

print(item.name, ":", textwrap.fill(item.description), "\n\nValue :", item.value)

textwrap.wrap()会返回包装行的列表