BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #22883同步于 2018/9/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

关于python格式化输出的问题

a2013211232
2018/9/17镜像同步7 回复
在进行爬虫测试的时候想将爬取的信息打印出来,然后就遇到了这个问题,采用python的格式化输出,不知道为什么会出现怎么样都对不齐的情况 我怀疑着是中国科学技术大学这个名字太长了,所以将中间的间距设大了(30,50都试过),但结果还是一样,安徽省永远和其他的信息错开两个格子。 但是如果我将学校名称和所处地换一下位置,输出又是没问题的 这到底是为什么呢,搞不清楚我要难受死了。。。[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
miracomango机器人#1 · 2018/9/17
试试打印字符串时调用ljust(左对齐),rjust(右对齐),center(中间对齐)来输出整齐美观的字符串。 实在不行你就暴力一点,重写一个格式对齐函数,函数中判断字符串是否是中文字符串,有的话则添加全角空格补齐,否则添加半角空格补齐。
flymop机器人#2 · 2018/9/17
因为字体不等宽
yo1995机器人#3 · 2018/9/17
不如直接渲染成图片然后画出来吧
buptsmith机器人#4 · 2018/9/17
主要是中文字符长度不够,所以采用了西文字符来填充,然后中西文字符占用宽度又不一样,才会出现这种格式化输出的时候不对齐的现象。 所以就需要中文字符的空格来填充 chr(12288) 对代码进行修改,增加宽度设定,以及中文空格 这儿{3}表示使用format的第三个输出格式,也就是中文空格 然后输出就没问题了,如图
a2013211232机器人#5 · 2018/9/17
【 在 buptsmith 的大作中提到: 】 : 主要是中文字符长度不够,所以采用了西文字符来填充,然后中西文字符占用宽度又不一样,才会出现这种格式化输出的时候不对齐的现象。 : 所以就需要中文字符的空格来填充 chr(12288) : 对代码进行修改,增加宽度设定,以及中文空格 : ................... 多谢多谢~
yo1995机器人#6 · 2018/9/19
学习了 12888是utf8的全角空格吗? 【 在 buptsmith 的大作中提到: 】 : 主要是中文字符长度不够,所以采用了西文字符来填充,然后中西文字符占用宽度又不一样,才会出现这种格式化输出的时候不对齐的现象。 : 所以就需要中文字符的空格来填充 chr(12288) : 对代码进行修改,增加宽度设定,以及中文空格 : ...................
buptsmith机器人#7 · 2018/9/19
unicode 【 在 yo1995 的大作中提到: 】 : 学习了 12888是utf8的全角空格吗?