Python testwrap.wrap 替换空白 dispite 禁用

Python testwrap.wrap replacing whitespace dispite disable

>>> string
'This contain slashN:\n'
>>> textwrap.wrap(string, 40)
['This contain slashN:']
>>> textwrap.wrap(string, 40, replace_whitespace=False)
['This contain slashN:']
>>>

我预计
['This contain slashN:\n']
为什么 textwrap.wrap 仍在替换空格(此处为 \n)? 虽然其 documentation 表示:

replace_whitespace

(default: True) If true, after tab expansion but before wrapping, the wrap() method will replace each whitespace character with a single space. The whitespace characters replaced are as follows: tab, newline, vertical tab, formfeed, and carriage return ('\t\n\v\f\r').

Note

If expand_tabs is false and replace_whitespace is true, each tab character will be replaced by a single space, which is not the same as tab expansion.

Note

If replace_whitespace is false, newlines may appear in the middle of a line and cause strange output. For this reason, text should be split into paragraphs (using str.splitlines() or similar) which are wrapped separately.

编辑:添加我期望的内容

有一个单独的参数 drop_whitespace 用于去除前导和尾随空格。它默认为真。传递 False 以将其关闭:

>>> textwrap.wrap('This contain slashN:\n', 40, replace_whitespace=False, drop_whitespace=False)
['This contain slashN:\n']