显示多行python控制台ascii动画

2024-01-10

我正在玩控制台动画。我发现制作一行很容易,但我开始考虑在控制台中将 GIF 动画制作为 ASCII 的想法。

import time

def main():

    counter = 0

    while True:
        with open(ascii_path + 'dog-' + str(counter) + '.txt', 'r', encoding="utf8") as f:

            print('\b', f.read(), sep='', end='', flush=True)

            time.sleep(0.5)

            if counter == len(filenames):
                counter = 0
            else:
                counter += 1

if __name__ == "__main__":
    main()

最终发生的情况是,它只会连续打印每个文本文件,而不是像下面的动画那样替换内容。

for x in range(3):
    for frame in r'-\|/-\|/':
        # Back up one character then print our next frame in the animation
        print('\b', frame, sep='', end='', flush=True)
        sleep(0.2)

即使我尝试在每次打印后清除控制台,它似乎也没有做任何事情。

os.system('cls')

有图书馆可以做到这一点吗?


只要您的终端(模拟器)支持,您实际上可以在没有任何外部库的情况下解决这个问题ANSI 转义序列 https://en.wikipedia.org/wiki/ANSI_escape_code。这些可以像文本一样打印到控制台,但它们可以移动光标,更改文本的颜色,甚至滚动终端的部分,而不是打印。下面是一个小示例,只要打印的行不会导致终端滚动,它就会执行您想要的操作,但如果您无论如何都要清除控制台,它应该可以工作。

import time

nlines = 2
# scroll up to make room for output
print(f"\033[{nlines}S", end="")

# move cursor back up
print(f"\033[{nlines}A", end="")

# save current cursor position
print("\033[s", end="")

for t in range(10):
    # restore saved cursor position
    print("\033[u", end="")
    print(f"Line one @ {t}")
    print(f"Line two @ {t}")
    t += 1
    time.sleep(.5)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示多行python控制台ascii动画 的相关文章

  • 如何恢复tensorflow inceptions检查点文件(ckpt)?

    I have inception resnet v2 2016 08 30 ckpt文件是预先训练的初始模型 我想使用恢复这个模型 saver restore sess ckpt filename 但为此 我将需要编写训练该模型时使用的变量
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视

随机推荐

  • 托管在 IIS 上的 ASP.NET 5 项目

    我想在 Amazon 免费微型实例上托管我的 ASP NET 5 项目 该项目使用 MVC 6 和 Entity Framework 7 我找不到任何有关如何在 IIS 上托管 ASP NET 5 项目的分步手册 所有材料都只是提到这是可能
  • 切换div问题

    我试图切换一些 div 但它不起作用 这是 js
  • java full gc 花费太长时间

    我有一个 Java 客户端 它消耗来自服务器的大量数据 如果客户端没有以足够快的速度跟上数据流 服务器将断开套接字连接 我的客户每天都会断线几次 我运行 jconsole 来查看内存使用情况 堆空间图看起来像一个定义相当明确的锯齿图案 在大
  • 将同一 10 倍数范围内的数组值分组

    我有一个数组 例如 var arr 2 4 7 11 25 608 65 109 99 100 504 606 607 我需要这样做 以便将低于其十的倍数和高于其十的倍数范围内的每个值分组在一起 例如 2 4 7 介于 0 和 10 之间
  • 使用zipfile解压后文件权限丢失

    我已经提取了一个 zip 文件 hisat2 2 2 0 Linux x86 64 zip from https cloud biohpc swmed edu index php s hisat2 220 Linux x86 64 down
  • 如何在我的应用程序中获得与苹果地图相同的搜索提示

    我在 iOS 应用程序中实现了搜索栏 我想获得与 Apple 地图应用程序相同的 部分结果 搜索提示 我试图找出苹果是如何实现它的 但我在谷歌或 stackoverflow 上都没有成功 我的 UITableView searchHintT
  • 使用 Future 和 @Aync 时休眠两个开放会话

    我正在尝试在我的应用程序中使用多线程来执行一些需要几分钟才能完成的任务 我的想法是 我有 n 个对象 所以我希望并行处理这些对象 而不会让用户 网络应用程序 等待它们完成 因为这需要几分钟 另外在其他情况下 当对象的数量为 1 时 我想等到
  • 如何从 NodeJs API 渲染 HTML 页面?

    运行http server后 我尝试访问URL http 127 0 0 1 8080 http 127 0 0 1 8080 但我得到的不是我写的 每次我尝试时 都会显示 Node js v8 11 4 欣喜若狂的服务器正在运行 127
  • WebStorm 将重构范围限制为仅当前文件

    编辑 这是我创建的问题的链接 https youtrack jetbrains com issue WEB 21956 https youtrack jetbrains com issue WEB 21956 是否可以将 WebStorm
  • 如何在 Xcode 中将图像添加到 C++ 项目

    我想在 Xcode 中将图像添加到我的 C 项目中 以便我可以读取该图像并用它执行某些操作 如何将图像包含到我的项目中 尝试将两者复制粘贴到我的项目和包含我的 c 源的文件夹中 在 Xcode 10 中 我无法将图像与可执行文件放在同一文件
  • PyQt 不规则形状的窗口(例如没有边框/装饰的圆形)

    如何在 PyQt 中创建不规则形状的窗口 I found 这个C 解决方案 https stackoverflow com questions 1333610 displaying translucent irregular shaped
  • Electron 主进程和渲染进程调试配置

    我正在使用那个仓库https github com SimulatedGREG electron vue https github com SimulatedGREG electron vue并尝试像这样设置 VS Code 调试配置 ma
  • 将列表元素映射到字典中的键以获取Python中的十进制值

    我有一个单词列表如下 mylist cat yellow car red green jeep rat lorry 我还有数据集中每篇文章的列表列表 其中包含 mylist 的值 如下面的示例所示 即 如果 mylist 单词出现在文章中
  • 使用 makecert 创建证书而不使用 pvk 文件

    我正在尝试创建一个由根密钥签名的证书makecert 我没有PVK文件 只有KEY和PEM文件 我认为 KEY和PEM文件也是私钥 这样对吗 但如果我尝试这个 makecert exe n CN Test Use iv ca key ic
  • 如何配置嵌入式 jetty 服务器来记录所有请求?

    我想将所有肥皂请求记录到我的服务器 服务器实例是嵌入式码头服务器 有没有办法设置处理程序来执行此操作 我可以访问 web xml 文件 您将需要在嵌入式码头启动中执行以下操作 假设 Jetty 9 HandlerCollection han
  • 为什么 IDLE 3.4 在这个程序上花费这么长时间?

    编辑 我正在完全重做这个问题 该问题与 time time 无关 这是一个程序 import time start time time a 9 lt lt 1 lt lt 26 The line that makes it take a w
  • 小型转储中的 .ni.dll 和 .ni.exe 文件是什么?

    由于我的应用程序崩溃 我从 Windows 应用商店应用程序提交过程 由审阅者发送 收到了一个小型转储 我在加载应用程序的符号时遇到问题 因为错误发生在内部App ni exe 一个我不知道从哪里来的文件 我的应用程序只有一个App exe
  • 用不同的颜色为 html 锚点添加下划线

    是否可以使用文本颜色以外的颜色为锚标记添加下划线 任何例子将不胜感激 EDIT 是否可以将颜色指定为十六进制 例如 8f867c 你不能单独指定下划线颜色 但你可以使用一个小技巧 a color red text decoration no
  • 如何为饼图元素设置自定义颜色

    我在我的 Android 项目中使用 MPChart 库 我有 Json 其中包含用于生成饼图的标签 值和颜色 我想从 json 到饼图元素设置相同的颜色 我遵循了 MPChart 文档 但没有找到任何饼图颜色设置的解决方案 您在文档中没有
  • 显示多行python控制台ascii动画

    我正在玩控制台动画 我发现制作一行很容易 但我开始考虑在控制台中将 GIF 动画制作为 ASCII 的想法 import time def main counter 0 while True with open ascii path dog