python模組學習- textwrap 文字包裝與填充
程式碼實例:
sample_text = '''
The textwrap module can beused to format text for output in inject inhioations module
programmatic functionalitysimilar to the paragraph wrapping or filling features found inmany text editors.'''段落填充:import textwrap from textwrap_exampleimport sample_text print 'Nodedent:\n' printtextwrap.fill(sample_text, width=50)wrap_fill.pyNo dedent:
The textwrap module can be used to format
移除縮排:
import textwrap fromtextwrap_example import sample_text dedented_text = textwrap.dedent(sample_text) print 'Dedented:' printdedented_text
執行結果:# pythontextwrappedent. be used to format text for output insituations wherepretty -printing is desired. It offersprogrammaticfunctionality similar to the paragraph wrappingor fillingfeatures found in many text editors.這樣第一行就不會縮排。
結合移除縮排
import textwrap fromtextwrap_example import sample_text dedented_text =textwrap.dedent(sample_text).strip() for width in [ 45,70 ]: print '%d Columns:\n' % width print textwrap.fill(dedented_text,width=width) print
執行結果:
# pythontextwrap_fill_ textwrapmodule can be used to format
text for output insituations where pretty-
printing isdesired. It offers programmatic
functionalitysimilar to the paragraph
wrapping orfilling features foundm in manparagraphy
:import textwrap fromtextwrap_example import sample_text dedented_text =textwrap.dedent(sample_text).strip() printtextwrap.fill(dedented_text, initial_indent='', subsequent_indent=' ' * 4, width=50, ) 执行结果: # pythontextwrap_hanging_indent.py The textwrapmodule can be used to format text for output in situations where pretty-printingis desired. It offers programmatic functionality similar to the paragraph wrapping orfilling features found in many text editors.
TextWrap提供函數wrap()和fill(), 以及TextWrapper類,工具函數dedent(). 通常包裝或填充一兩個字串使用wrap()和fill()。其他情況使用TextWrapper更有效率。
textwrap.wrap(text[,width[, ...]])
包裝單一段落(text為輸入,系字串),每行最長寬度width。傳回輸出行的列表,最後行無換行符。 Width預設70。
textwrap.fill(text[,width[, ...]])
包裝單段文字,並傳回包含包裹段落的字串。其實是"n".join(wrap(text,...))的縮寫。 wrap() and fill()建立TextWrapper實例,並呼叫一個方法。這些實例不被重複使用,所以包裝/填充很多文字字串要建構自己的TextWrapper物件更有效。 TextWrapper.break_long_words設定是否拆長單字。
textwrap.dedent(text)
反縮排去除每行行首的空白。這方便顯示三引號中的內容而不修改其原始程式碼中的縮排。