python字符串format中英文空格对齐问题

来源:互联网 发布:小米手机怎么选择网络 编辑:程序博客网 时间:2024/06/06 18:20

print('{:^10}\t{:^10}\t{:^10}'.format(u[0], u[1], u[2]))



很明显,第二三列字符串并没有对齐。

原因:当中文字符宽度不够时,采用西文字符填充;中西文字符占用宽度不同

解决方案:

采用中文字符空格填充, (utf-8编码)chr(12288) 

改造:

tplt = '{0:^10}\t{1:{3}^10}\t{2:^10}'print(tplt.format(u[0], u[1], u[2], chr(12288)))

{1:{3}^10}的意思为打印字符串变量时,使用format()中第三个变量类进行填充,即使用中文空格进行填充