簡體   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