Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python在终端上制作动画_Python_Animation_Cmd_Terminal - Fatal编程技术网

使用python在终端上制作动画

使用python在终端上制作动画,python,animation,cmd,terminal,Python,Animation,Cmd,Terminal,我正在使用的终端动画代码 我正在尝试在终端上制作动画,并且已经成功地使用我附加的快照中的代码制作了动画。 问题是该代码打印第一个文件的全部内容,清除整个终端并打印第二个文件的内容。 制作逐帧样式的动画。 我想要完成的是首先打印第一个文件的内容,而不清除在打印的第一个文件内容之上覆盖第二个文件的内容 import os, time, sys os.system('cls') filenames = ["0.txt", "1.txt"] with open("0.txt") as f0: z

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

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')
想象一下:

打印(“一行内容”,end=“\r”) 样式返回在一行上覆盖打印,但覆盖整个段落


有没有办法回到第一个文件的开头打印并用第二个文件覆盖

您正在通过调用
cls
擦除终端-这显然会清除终端。为了在不清除光标的情况下将光标定位在屏幕主屏幕上,您需要使用或将使用then的库或其等效项

由于您使用的是Windows,因此该模块应使您能够做到这一点-至少它可以启用您需要的ANSI序列


对于更高级的动画,如颜色效果,请使用unicode特殊字符,如环绕字母、带块字符的绘图,您可能希望使用(免责声明:我是作者)-但是它还没有准备好windows-并且它将使用colorama在windows下启用其功能。

提问时,请将您的代码添加为内联代码,并使用
{}
按钮对其进行格式化-(切勿将图像用作代码)