如何解决如何在此python程序中更快地输出?
我想在终端/控制台中显示时间,每过一秒,我希望删除前一个时间,并用新时间(又是一秒钟)替换。但是,当我运行程序时,它显示的时间不是在每秒钟秒之后,而是在每秒钟每秒钟秒之后。我的代码看起来有点愚蠢,但是我不知道是否有修改它的方法。这是我的代码:
import time
import os
while True:
print(time.strftime('%H:%M:%S'))
os.system('clear')
因此,例如,如果我在08:12:33执行此代码,则结果如下: -首先: 08:12:33 -屏幕被清除 -然后: 08:12:35 -屏幕被清除 -然后: 08:12:37 -屏幕被清除 。 。
任何帮助,修改或提示将不胜感激。
版本: 首先,感谢大家提供的各种提示和答案。由于许多人都说代码可以在您的控制台上正常工作,因此我还要补充一点,我正在VS Code控制台上运行此代码。尽管您的代码在控制台上运行良好,但是我仍无法达到所需的输出。这可能是我的控制台出现问题了吗?也许它无法追踪速度?
解决方法
使用转义序列(\033[2J
用于清除屏幕,\033[H
用于使光标归位)来清除屏幕比生成子进程要快:
import time
while True:
print('\033[2J\033[H'+time.strftime('%H:%M:%S'))
time.sleep(1)
或使用curses,ansi等库,这些库应提供对这些原始转义序列的抽象。
,使用计划程序
Then I must see the specific text in the .error-message block on the page:
"""
Lorem ipsum.
Lorem ipsum,lorem ipsum - lorem ipsum
Lorem ipsum.
"""
,
这不是正在发生的事情-您连续不断地不停地打印时间(在我的控制台上确实显示了所有更改,但是在您的控制台上却未必显示)。您应该在两次打印之间保持睡眠,以免错过任何内容。 顺便说一句,time.ctime()是无关紧要的。您没有使用返回值。
尝试一下:
import time
import os
while True:
print(time.strftime('%H:%M:%S'))
time.sleep(0.3)
os.system('clear')
,
我使用了os.system('cls'),对我来说效果很好
import time
import os
time.ctime()
while True:
print(time.strftime('%H:%M:%S'))
os.system('cls')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。