Python 3.x Python 3.0多行动画控件有什么方法吗
我想在我的模块中添加动画,这样可以动态控制多行,但我找不到合适的选项 确切信息: 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)|____| ............................... \___/ \___/Python 3.x Python 3.0多行动画控件有什么方法吗,python-3.x,Python 3.x,我想在我的模块中添加动画,这样可以动态控制多行,但我找不到合适的选项 确切信息: D:\Project> python download.py Connection Established :) Downloading 50/500 files... . __ |\ __/__\___________| \_ | ___ ___`-. | / \ 10% / \ `-. |_| (
您可以使用以下命令在特定屏幕位置打印字符串:
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如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。嗨,伊莫尔曼,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。这种工作可以完成,但这不是我需要的。这种工作可以完成,但这不是我需要的。