Python中英文混排輸出
阿新 • • 發佈:2020-10-16
若資料每個欄位只有中文或者英文,可以考慮在內容中填充中文空格以進行對齊,因為中文空格和英文空格寬度不同,如:
# 第一個引數表示變數內容,第二個引數表示字元 以下內容表示居中,若長度不足13用中文空格補齊
'{0:{1}^13}'.format(Name, chr(12288))
若資料出現中文和英文在同一個欄位內,可以使用wcwidth庫計算字元總長度,其中中文字元長度為2,英文和數字長度為1。(也可以採用其他方法計算長度)如:
from wcwidth import wcswidth def wc_rjust(text, length, padding=' '): """ :param text: 文字內容 :param length: 填充長度 :param padding: 填充內容 :return: """ return text + padding * max(0, (length - wcswidth(text))) # 新增\t製表符來補充對齊 print(wc_rjust('你好a\t', 0), wc_rjust('aas呵呵d\t', 5), wc_rjust('做一個測試\t', 5), wc_rjust('123sad啊\t', 5), wc_rjust('hehe\t', 5)) print(wc_rjust('你好嗎\t', 0), wc_rjust('aasddasd\t', 5), wc_rjust('做一測s試\t', 5), wc_rjust('123sad啊\t', 5), wc_rjust('hehe\t', 5)) print(wc_rjust('你好a\t', 0), wc_rjust('aasddasd\t', 5), wc_rjust('做一個測試\t', 5), wc_rjust('123sad55\t', 5), wc_rjust('hehe\t', 5))
輸出結果: