Python 3.x Python 3.0多行动画控件有什么方法吗

Python 3.x Python 3.0多行动画控件有什么方法吗,python-3.x,Python 3.x,我想在我的模块中添加动画,这样可以动态控制多行,但我找不到合适的选项 确切信息: D:\Project> python download.py Connection Established :) Downloading 50/500 files... . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 10% / \ `-. |_| (

我想在我的模块中添加动画,这样可以动态控制多行,但我找不到合适的选项

确切信息:

D:\Project> python download.py Connection Established :) Downloading 50/500 files... . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 10% / \ `-. |_| (O) |________| (O) |____| \___/ \___/ D:\Project>python下载.py 已建立连接:) 正在下载50/500文件。。。 . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 10% / \ `-. |_|(O)|||||||(O)|____| \___/ \___/ 50%之后

D:\Project> python download.py Connection Established :) Downloading 250/500 files... . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 50% / \ `-. |_| (O) |________| (O) |____| ............................... \___/ \___/ D:\Project>python下载.py 已建立连接:) 正在下载250/500文件。。。 . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 50% / \ `-. |_|(O)|||||||(O)|____| ............................... \___/ \___/
您可以使用以下命令在特定屏幕位置打印字符串:

sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (row, col, text))
以下代码将完成此工作:

import os, sys, time

def update_screen(done, total):
    percent = int((done/total)*100)
    x_location = (percent//2)+1
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (2, 0, "Connection Established :)"))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (3, 0, "Downloading {0}/{1} files...".format(done, total)))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (4, x_location, "                   .          "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (5, x_location, "     __            |\         "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (6, x_location, "  __/__\___________| \_       "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (7, x_location, " |   ___            ___`-.    "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (8, x_location, " |  /   \          /   \  `-. "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (9, x_location, " |_| (O) |________| (O) |____|"))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (10,x_location, ".   \___/          \___/      "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (8, x_location+12, "{: 2d}%".format(percent)))
    sys.stdout.flush()

def main():
    os.system("clear")
    for i in range(500):
        update_screen(i, 500)
        time.sleep(0.2)

if __name__ == "__main__":
    main()

您可以使用以下命令在特定屏幕位置打印字符串:

sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (row, col, text))
以下代码将完成此工作:

import os, sys, time

def update_screen(done, total):
    percent = int((done/total)*100)
    x_location = (percent//2)+1
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (2, 0, "Connection Established :)"))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (3, 0, "Downloading {0}/{1} files...".format(done, total)))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (4, x_location, "                   .          "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (5, x_location, "     __            |\         "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (6, x_location, "  __/__\___________| \_       "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (7, x_location, " |   ___            ___`-.    "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (8, x_location, " |  /   \          /   \  `-. "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (9, x_location, " |_| (O) |________| (O) |____|"))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (10,x_location, ".   \___/          \___/      "))
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (8, x_location+12, "{: 2d}%".format(percent)))
    sys.stdout.flush()

def main():
    os.system("clear")
    for i in range(500):
        update_screen(i, 500)
        time.sleep(0.2)

if __name__ == "__main__":
    main()

Hi-@ IMROLMAN如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。嗨,伊莫尔曼,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。这种工作可以完成,但这不是我需要的。这种工作可以完成,但这不是我需要的。