gpt4 book ai didi

python - 使用python在终端上动画

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:27 25 4
gpt4 key购买 nike

我正在使用的终端动画代码我正在尝试在终端上制作动画,并且使用我所附快照中的代码成功制作了动画。问题在于此代码打印第一个文件的全部内容并清除整个终端并打印第二个文件的内容。制作逐帧风格的动画。我想要完成的是首先打印第一个文件的内容,而不清除在打印的第一个文件内容之上覆盖第二个文件的内容。

import os, time, sys

os.system('cls')
filenames = ["0.txt", "1.txt"]

with open("0.txt") as f0:
zero = f0.read()

with open("1.txt") as f1:
one = f1.read()

for i in range(10):
for c in zero:
sys.stdout.write(c)
time.sleep(.0001)

os.system('cls')

for c in one:
sys.stdout.write(c)
time.sleep(.0001)

os.system('cls')

想象一下:

print("一行内容",end="\r")style return carraige overwrite printing on a line but for entire paragraphs.

有什么办法可以回到第一个文件打印的开头并用第二个文件覆盖它?

最佳答案

您正在通过调用 cls 删除终端 - 这显然会清除终端。您需要使用 ANSI sequence commands ,或者将使用 then 的库或它们的等价物,以便将光标定位在屏幕主页而不清除它。

由于您在 Windows 上,colorama模块应该使您能够做到这一点 - 至少它支持您需要的 ANSI 序列。

对于更高级的动画,如颜色效果,使用 unicode 特殊字符,如带圆圈的字母,用 block 字符绘制,可能需要使用 terminedia (免责声明:我是作者)- 然而它还没有准备好 Windows - 无论如何它将使用 colorama 来启用它在 Windows 下的功能。

关于python - 使用python在终端上动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com