>> print textwra-6ren">
gpt4 book ai didi

python - textwrap.wrap() 和 textwrap.fill() 在 python 2 中如何工作?

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:59 31 4
gpt4 key购买 nike

>>> 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 给了我一个字符串。在文档中,它说,“将单个段落包装在文本(字符串)中,因此每行的长度最多为宽度字符”。

但我不明白为什么 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)

输出:

这是

非常v

非常非常

非常好

很长

字符串。

最佳答案

作为documentation声明:

Wraps the single paragraph in text (a string) so every line is at most width characters long. Returns a list of output lines, without final newlines.

textwrap 仅在分词处(通常在空格处)分割单词,并确保每个字符串不会超过宽度限制。注意:它不会在每个宽度个字符处进行分割。

它用于将字符串拆分为多个部分,每个部分的最大可能数量等于或小于宽度字符长,同时不破坏任何单词。

关于python - textwrap.wrap() 和 textwrap.fill() 在 python 2 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455772/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com