@标签 Python print 终端 打印 table align mixed unicode ascii Chinese 中文
本文演示了如何利用 wcwidth 库来实现中英文混排对齐的效果,请首先确保你安装了 wcwidth
$ pip install wcwidth
解决中文英文混排对齐问题的示例代码以及运行效果如下:
from __future__ import print_function, unicode_literals
from wcwidth import wcswidth as ww
def lpad(s, n, c=' '):
# lpad('你好', 6) => ' \u4f60\u597d'
return (n-ww(s)) * c + s
def rpad(s, n, c=' '):
# rpad('你好', 6) => '\u4f60\u597d '
return s + (n-ww(s)) * c
lines = [
['aaaaa', 'other-十堰市辉力亚新国际影城-99', 'bbbbb'],
['111', 'other-十国际影城-42091401', 'ccc222'],
['你好a', 'what', 'yes啊']
]
for l in lines:
print('{} {} {}'.format(
rpad(l[0], 12),
rpad(l[1], 40),
rpad(l[2], 10),
))