Python3 - 以指定列寬格式化字符串

問題

對很長的字符串,以指定的列寬將它們重新格式化。

解決方案

使用 textwrap 模塊來格式化字符串的輸出。比如,假如有下列的長字符串:

s = "Look into my eyes, look into my eyes, the eyes, the eyes, \
the eyes, not around the eyes, don't look around the eyes, \
look into my eyes, you're under."

輸出時每行80個字符

import textwrap
print(textwrap.fill(s, 80))

Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around
the eyes, don't look around the eyes, look into my eyes, you're under.

輸出時每行40個字符

import textwrap
print(textwrap.fill(s, 40))

Look into my eyes, look into my eyes,
the eyes, the eyes, the eyes, not around
the eyes, don't look around the eyes,
look into my eyes, you're under.

首行縮進(jìn)4個空格

import textwrap
print(textwrap.fill(s, 40, initial_indent='    '))

    Look into my eyes, look into my
eyes, the eyes, the eyes, the eyes, not
around the eyes, don't look around the
eyes, look into my eyes, you're under.

非首行縮進(jìn)4個空格

import textwrap
print(textwrap.fill(s, 40, subsequent_indent='    '))

Look into my eyes, look into my eyes,
    the eyes, the eyes, the eyes, not
    around the eyes, don't look around
    the eyes, look into my eyes, you're
    under.

討論

textwrap 模塊對于字符串打印是非常有用的,特別是當(dāng)你希望輸出自動匹配終端大小的時候。 你可以使用 os.get_terminal_size() 方法來獲取終端的大小尺寸。比如:

import os
print(os.get_terminal_size().columns)
80
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容