繁体   English   中英

多行Python 3打印更新

[英]Python 3 Print Update on multiple lines

是否可以打印和更新多行? 这适用于一行:

print ("Orders: " + str(OrderCount) + " Operations: " + str(OperationCount), end="\r")

并得到:(当然,数字会更新,因为它是循环的)

Orders: 25 Operations: 300

我已经试过了:

print ("Orders: " + str(OrderCount) + "\rOperations: " + str(OperationCount), end="\r\r")

并得到此信息:(数字确实正确更新)

Operations: 300

寻找更新的两行:

Orders: 25
Operations: 300

并不是:

Orders: 23
Operations: 298

Orders: 24
Operations: 299

Orders: 25
Operations: 300

\\r回车符 ,光标移至行的开头(第0列)。 从那里开始,编写更多文本将覆盖之前编写的内容,因此您只能以最后一行结束(该行足够覆盖之前编写的所有内容)。

您需要\\n换行符,它将移动到下一行(并再次从第0列开始):

print ("Orders: " + str(OrderCount) + "\nOperations: " + str(OperationCount), end="\n\n")

与其使用str()+串联, str.format()考虑使用带有str.format()字符串模板:

print("Orders: {}\nOperations: {}\n".format(OrderCount, OperationCount))

请注意,您不能返回上一行; 如果您想使用\\r回车来更新两行,那么您将无法进行直接打印。 您需要使用Curses切换到全终端控件,或者坚持将所有内容放在一行上。

如果要采用“诅咒”路线,请考虑到Windows兼容性充其量只是个粗略的选择。

您可能需要\\n而不是\\r \\r是“回车”,又名“返回行首”-因此,您将在“订单”上打印“操作”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM