>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.wrap(string,8)
>>> print textwrap.fill(string,8)
输出:[ '字符串' '这是', '非常', '非常', '非常', '非常', '非常', '长',]textwrap.wrap()和textwrap.fill()如何在python 2中正确工作?
这是
非常
非常
非常
非常
非常
长
字符串。
我得到了一个事实,textwrap.wrap()给了我一个列表,textwrap.fill给了我一个字符串。 在文档中它说:“用文本(一个字符串)包装单个段落,所以每行至多是宽度字符长度”。
但我不明白为什么不是由textwrap.wrap()形成的列表中的每个元素的长度,如果将8作为宽度参数传递,则为8。为什么有时候7,6等等。
同样,我不明白为什么在textwrap.fill()的情况下,每行的长度= 8个字符(如果宽度传递为8或5,如果宽度传递为5)。如在例子中,其有时,7,6,4等。为什么不完全等于宽度。 因为它说最多每行都应该是宽度字符长,所以为什么它在使用所有可用的8个字符之前中断,如果与8传递?
它不应该是这样的下面:
>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.fill(string,8)
OUTPUT:
这是
非常v
红霉素非常
非常五个
ry long
string。
请帮我理解。提前致谢。