在Python中逐字逐字打印终端打印?
我正在写一个涉及数据库的Python应用程序。对于它的地狱,我包括一个复活节彩蛋。如果用户决定核实他的数据库,所有这些来自终端,他会被提示用简单的(y/n)进行确认。但是如果他改为输入DLG2209TVX,那么WarGames的这一行将会打印出来。怀疑有人会发现它,除非他们通过我的来源看,但没关系。在Python中逐字逐字打印终端打印?
问题是,简单地打印线条播放场景的方式太快,真的只是毁了它。我在每个角色的线条之间实施了一个计时器来减慢速度,这样会更好,但它看起来还不自然。是否有一种标准化的方式来逐一打印每个单词或字符,而不是一次一行地进行打印?或者我应该开始在单词之间添加计时器?
标准化?从来没听说过。不过,试试这个:
import random
import sys
import time
def slowprint(s):
for c in s + '\n':
sys.stdout.write(c)
sys.stdout.flush() # defeat buffering
time.sleep(random.random() * 0.1)
slowprint('Hello, world.')
调整0.1
改变字符之间的最大延迟和线之间增加冗长time.sleep()
s到添加更多戏剧性的效果。
你真棒。谢谢 – 2013-03-13 01:33:29
import sys
import time
for c in gettysburg_address:
sys.stdout.write(c)
sys.stdout.flush()
# 110 baud:
time.sleep(8./110)
# 300 baud:
# time.sleep(8./300)
muchas gracias,作品像魅力 – 2013-03-13 01:39:47
您也可以尝试curses.delay_output()
:
In [48]: import curses
In [49]: for x in "foo bar":
sys.stdout.write(x) #prints each char with a delay of 100ms
curses.delay_output(100)
....:
foo bar
aha,这就是我的意思是标准化。谢谢 – 2013-03-13 02:00:37
您是否尝试过'time.sleep()'? '睡眠(秒):延迟执行给定的秒数。参数可能是 是亚秒级精度的浮点数.' – 2013-03-13 01:23:51
他们不必读取源代码,他们只需要遇到这个*问题! :-) – Celada 2013-03-13 01:27:00
相关:['curl -L cueup.com/jobs'](http://tech.cueup.com/blog/2013/03/06/how-our-terminal-friendly-jobs-page-works /)(展示慢速打印) – jfs 2013-03-13 03:30:21