>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.wrap(string,8)
>>> print textwrap.fill(string,8)
Run Code Online (Sandbox Code Playgroud)
输出:
['这是','非常','非常','非常','非常','非常','长','字符串。']
这是
一个非常
非常
非常
非常
非常
长的
细绳。
我知道 textwrap.wrap() 给了我一个列表,而 textwrap.fill 给了我一个字符串。在文档中,它说:“将单个段落包装在文本(字符串)中,因此每行最多为宽度字符长”。
但我不明白为什么 textwrap.wrap(), 8 形成的列表中每个元素的长度不是 8(如果 8 作为宽度参数传递)。为什么有时是 7,6 等。
同样,我不明白为什么在 textwrap.fill() 的情况下,每行的长度 = 8 个字符(如果宽度传递为 8 或 5,如果宽度传递为 5)。例如,有时是 7、6、4 等。为什么不完全等于宽度。因为它说每行最多应该是宽度字符长,所以如果 with 作为 8 传递,为什么它会在使用行中所有可用的 8 个字符之前中断?
不应该是像下面这样吗:
>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.fill(string,8)
Run Code Online (Sandbox Code Playgroud)
输出:
这是
非常v
非常非常
非常非常
瑞朗
细绳。
归档时间: |
|
查看次数: |
9044 次 |
最近记录: |