我试图让Python将.txt文件的内容复制到OS X上的bash终端(10.10),但是直到该行的每个字符都被打印到行后才会打印该行。有没有办法让Python逐字符地打印每一行,而不是逐行打印?我的代码设计为在字符之间等待,但每行只需要很长时间才能打印:
while True:
character = text_file.read(1)
if not character: break
else:
sys.stdout.write(character)
time.sleep(0.050)
当我在IDLE中运行此代码时,字符一次打印一个。在终端中,线条需要几秒钟才能打印,每行都会同时打印所有行。有没有办法重现我在终端IDLE中看到的行为?
答案 0 :(得分:0)
如果你想删除该行末尾的新行。
你可以简单地
print character,
将删除新行(\ n)。
答案 1 :(得分:0)
在sys.stdout.flush()
sys.stdout.write(character)
原因应该是stdout的输出被缓冲。