Python 中英文混输格式对齐问题

最近学习python爬虫案例输出中国大学排名时,碰见了在使用format函数对字符串进行格式化输出时存在中英文输出格式对齐问题
输出语句的代码:

for ul in ulist:
    print("{:^6}\t{:^10}\t{:^6}".format(ul[0],ul[1],ul[2]))   

Python 中英文混输格式对齐问题
结果如上图,教学视频中老师给出了原因
Python 中英文混输格式对齐问题
解决方案如下:

采用chr(12288)表示中文空格
修改后的代码:

 # 打印表头,并处理中英文对齐问题
    tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
    print(tplt.format("排名", "学校名称", "总分", chr(12288)))
    # 输出具体信息
    for i in range(num):
        u = ulist[i]
        print(tplt.format(u[0], u[1], u[2], chr(12288)))

注:{1:{3}^10},这个里面1和3对应format里面的顺序,而“:” 后面的内容表示填充内容,当长度不够时将自动填充

这里有一篇别人写的关于该问题的博客
点此查看

爬虫案例——爬取中国大学排名
点此查看

上一篇:C#清除HTML标签方法


下一篇:【原创】NES第三波_如何做一张NES贺卡