Python在OSX终端中逐字符打印
我试图让Python将.txt文件的内容复制到OSX10.10上的bash终端中,但直到该行的每个字符都打印到该行后,该行才会打印。有没有办法让Python逐行打印每个字符,而不是逐行打印?我的代码设计为在字符之间等待,但每行打印都需要很长时间:Python在OSX终端中逐字符打印,python,terminal,osx-yosemite,Python,Terminal,Osx Yosemite,我试图让Python将.txt文件的内容复制到OSX10.10上的bash终端中,但直到该行的每个字符都打印到该行后,该行才会打印。有没有办法让Python逐行打印每个字符,而不是逐行打印?我的代码设计为在字符之间等待,但每行打印都需要很长时间: while True: character = text_file.read(1) if not character: break else: sys.stdout.write(character)
while True:
character = text_file.read(1)
if not character: break
else:
sys.stdout.write(character)
time.sleep(0.050)
当我在空闲状态下运行此代码时,字符一次打印一个。在终端中,打印行需要几秒钟,每行一次打印所有行。有没有办法重现我在终端空闲时看到的行为?如果要删除行末尾的新行 你可以简单地
print character,
将删除新行\n.在sys.stdout.writecharacter之后添加sys.stdout.flush
原因应该是标准输出被缓冲。Perfect。我没想到。我猜IDLE就是没有一个标准输出的缓冲区。谢谢你的解释@用户2569332我很高兴能为您提供帮助: