簡體   English   中英

sys.stdout.write和\\ r回車不起作用

[英]sys.stdout.write and \r carriage return not working

我遵循了一些教程,並且經過大量研究,所以我無法弄清楚為什么給定的代碼沒有打印在同一行上。 我直接復制了它,因此它應該可以工作。

import time
import sys
sys.stdout.write('29 seconds remaining')
time.sleep(1)
sys.stdout.write('\r28 seconds remaining')

輸出為:

29 seconds remaining
28 seconds remaining

最終輸出應為:

28 seconds remaining

我將“ \\ r”放在行的末尾,而不是在最前面。 像這樣:

 sys.stdout.write("%s[%s%s] %2i/%i\r" % (variables go here))
 sys.stdout.flush()

在嘗試了對像我這樣具有相同設置的其他人似乎可行的解決方案之后,我不得不找出一種困難的方式,即通過輸出打印字符串的外殼來解析回車序列 (如果不夠精確,請在此處進行糾正)。 當我意識到Windows命令提示符(C:\\ Windows \\ System32 \\ cmd.exe)實際上按預期解釋了回車符時,我開始更接近該解決方案,但是PyScripter IDE卻沒有。 然后我意識到PyScripter開發人員對此有了新的認識,但不想花費很多精力來模仿cmd.exe行為。

希望這可以使其他開發人員朝正確的方向發展,並可以節省一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM