我正试图连续打印超过1行。在2.7中,我可以使用print '\r<stuff here>',,每次都会覆盖前面的行。在3.5+中,我读过如下建议:print('\r<stuff here>', end=' '),但当循环中的前一步更长时,这会留下“悬空”字符。
例如:
for foo in ['55555', '333', '1']:
print('\r', foo, end=' ')结果:
1 3 5因为每一行都比下一行长得多。
有什么建议吗?
发布于 2017-03-15 20:33:00
只需计算覆盖最长字符串所需的空格数,并将其用作end for print
values = ['55555', '333', '1']
end_spaces = ' '*max(len(x) for x in values)
for foo in values:
print('\r', foo, end=end_spaces)https://stackoverflow.com/questions/42819988
复制相似问题