0
>>> 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說:Python的testwrap.wrap更換空白dispite禁用
replace_whitespace
(默認:true)如果爲true,後選項卡擴展,但包裝前,包裝()方法將用一個空格替換每個空格字符。替換的空白字符如下所示:選項卡,換行符,垂直製表符,換頁符和回車符('\ t \ n \ v \ f \ r')。
注
如果expand_tabs爲假且replace_whitespace是真實的,每個選項卡字符將通過一個單一的空間,這是不一樣的製表符擴展來代替。
注
如果replace_whitespace是假的,換行可能出現在一行的中間,會導致奇怪的輸出。出於這個原因,文本應該被拆分成段落(使用str.splitlines()或類似的),它們被分開包裝。
編輯:爲了增加我的預期
但爲什麼'replace_whitespace = False'不保留'\ n'? – user2763554
@ user2763554:*由於剝離前導和尾隨空白*有不同的參數。每個參數的文檔都沒有描述整個函數的所有內容;事實上有一個論點說,它是用來決定前導/尾隨空白是否被剝離意味着默認情況下前導/尾隨空白被剝離。另外,你可以看到'replace_whitespace'不在這裏應用,因爲你的'\ n'不是被一個空格替代,而是完全被刪除。 – BrenBarn