首页 > 其他分享 >实时展示

实时展示

时间:2023-09-13 13:11:50浏览次数:35  
标签:展示 Live 实时 add import table row

进度条和状态指示器使用实时显示来对终端的各个部分进行动画处理。您可以使用该类构建自定义实时显示。

要演示实时显示,请运行以下命令:

python -m rich.live

注意

如果您看到省略号“...”,则表示终端不够高,无法显示整个表格。

基本用法

要创建实时显示,请构造具有可渲染的对象并将其用作上下文管理器。实时显示将在上下文期间持续存在。您可以更新可渲染对象以更新显示:

import time

from rich.live import Live
from rich.table import Table

table = Table()
table.add_column("Row ID")
table.add_column("Description")
table.add_column("Level")

with Live(table, refresh_per_second=4):  # update 4 times a second to feel fluid
    for row in range(12):
        time.sleep(0.4)  # arbitrary delay
        # update the renderable internally
        table.add_row(f"{row}", f"description {row}", "[red]ERROR")

更新可渲染对象

还可以通过调用该方法动态更改可呈现对象。如果要显示的信息过于动态而无法通过更新单个可呈现对象生成,则这可能很有用。下面是一个示例:

import random
import time

from rich.live import Live
from rich.table import Table


def generate_table() -> Table:
    """Make a new table."""
    table = Table()
    table.add_column("ID")
    table.add_column("Value")
    table.add_column("Status")

    for row in range(random.randint(2, 6)):
        value = random.random() * 100
        table.add_row(
            f"{row}", f"{value:3.2f}", "[red]ERROR" if value < 50 else "[green]SUCCESS"
        )
    return table


with Live(generate_table(), refresh_per_second=4) as live:
    for _ in range(40):
        time.sleep(0.4)
        live.update(generate_table())

备用屏幕

您可以通过设置构造函数来选择在“备用屏幕”中显示实时显示。这将允许您的实时显示屏全屏并在退出时恢复命令提示符。screen=True

您可以将此功能与布局结合使用,以显示复杂的终端“应用程序”。

瞬态显示

通常,当您退出实时上下文管理器(或调用)时,最后刷新的项目将保留在终端中,光标位于下一行。 还可以通过设置 Live 构造函数使实时显示在退出时消失。transient=True

自动刷新

默认情况下,实时显示每秒将刷新 4 次。您可以使用构造函数上的参数设置刷新率。 如果您知道您的更新不会那么频繁或更高,则应将其设置为低于 4 以获得更流畅的感觉。refresh_per_second

如果更新不是很频繁,则可能需要完全禁用自动刷新,可以通过设置构造函数来实现。 如果禁用自动刷新,则需要手动调用或使用 。auto_refresh=Falserefresh=True

垂直溢出

默认情况下,如果可渲染对象对于终端来说太大,实时显示将显示省略号。可以通过在构造函数上设置参数来调整此设置。vertical_overflow

  • “裁剪” 显示可渲染到终端高度。其余的都是隐藏的。

  • “省略号” 与裁剪类似,但终端的最后一行替换为“...”。这是默认行为。

  • “可见” 将允许显示整个可渲染内容。请注意,在此模式下无法正确清除显示。

注意

一旦实时显示停止在非瞬态可渲染对象上,最后一帧将渲染为可见,因为它不必被清除。

重定向标准输出/标准输出

为了避免破坏实时显示视觉对象,Rich 将重定向,以便您可以使用内置语句。 默认情况下启用此功能,但您可以通过设置 或 来禁用。stdoutstderrprintredirect_stdoutredirect_stderrFalse

筑巢生活

请注意,任何时候只能有一个实时上下文处于活动状态。以下内容将引发 因为状态也使用 Live:LiveError

with Live(table, console=console):
    with console.status("working"):  # Will not work
        do_work()

实际上,这很少是一个问题,因为您可以在实时上下文中显示可渲染对象的任意组合。

标签:展示,Live,实时,add,import,table,row
From: https://www.cnblogs.com/full-stack-linux-new/p/17699362.html

相关文章

  • OGG-Postgres实时同步到Kafka
    (一)数据同步信息名称源端名称目标端数据库类型Postgresql12.4组件类型KafkaIP地址20.2.127.23Broker地址20.2.125.52:9092,20.2.127.23:9092,20.2.127.24:9092端口5432端口9092数据库testpdbZookeeperHa......
  • 海康工业相机使用Python成像,web实时预览(Linux)
    Python实现海康机器人工业相机的实时显示视频流及拍照功能(Linux)代码是在ubuntu系统的orinnano板子上跑的程序,有需要的大佬自行研究更改支持网口相机和usb口相机并且理论上window和Linux通用但是我没有试windows平台代码如下:importsysfromctypesimport*importo......
  • 用友全球化数智运营解决方案:实时协同,启动组织,为中企出海赋能
    随着全球化管理的发展,越来越多的中国企业选择运用科技为企业人才管理提效赋能。而如何高效协同并加速组织运转成为企业考虑的关键。用友全球化数智运营解决方案为企业人力提供了全方位的支持,协助企业全球化人力管理。本文将从实时协同和组织赋能两个方向入手,深入探讨了用友BIP的协......
  • Lnton羚通视频分析算法开发平台关于AI智能识别操作行为流程规范识别算法分析展示
    Lnton羚通的算法算力云平台是一款优秀的解决方案,具有突出的特点。它提供高性能、高可靠性、高可扩展性和低成本的特性,使用户能够高效地执行复杂计算任务。此外,平台还提供丰富的算法库和工具,并支持用户上传和部署自定义算法,提升了平台的灵活性和个性化能力。AI工人操作行为流程规范......
  • 基于微信小程序的学生知识成果展示与交流
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序学生知识成果展示与交流的开发全过程。通过分析微信小程序学生知识成果展示与交流管理的不足,创建了一个计算机管理微信小程序学生知识成果展示与交流的方案。文章介绍了微信......
  • 基于live555开源流媒体服务器开发的EasyRTSPServer实现自定义数据与音视频数据的同步
    基于live555开源流媒体服务器开发的EasyRTSPServer实现的是视频和音频的数据传输,而随着智能分析的应用越来越多,如何将分析结果传给客户端也势在必行了。分析问题EasyRTSPServer基于live555改造而来,通过分析代码可以知道,其实它已经自带了metadata的传输.我们要做的就是怎样将这个me......
  • 树莓派加挂实时时钟芯片PCF8563模块
    硬件:树莓派4B,PCF8563模块树莓派系统版本::~$lsb_release-aNoLSBmodulesareavailable.DistributorID:RaspbianDescription:RaspbianGNU/Linux10(buster)Release:10Codename:buster 在开始之前需要确认自己手里的芯片是PCF8563还是PCF8583,......
  • 智能安防监控系统EasyNVR支持获取RTSP视频流实时快照图片
    TSINGSEE青犀视频作为网页无插件直播视频平台的积极开拓者,在行业内推出了多项产品,如EasyNVR、EasyDSS等,并已成功应用于多个项目。TSINGSEE青犀视频安防视频智能监控系统支持视频直播、录像回放,并提供视频流快照保存功能。在用户使用过程中,有人需要从RTSP视频流中获取自定义时间的视......
  • Vue -el-table表格动态控制表头动态展示数据(控制每一列展示)
    前言最近在实际开发中我们遇到一个需求是用户自己控制键值来生成对应表格数据。换个思路就是我们还是正常查询数据,需要一个开关页面来动态改变表格展示每一列。我们需要一个开关页面,里面有多选,确定重置取消,确定时把选中数据传递给父组件,动态数据for循环最好是以封装成组件的形......
  • Exchange 2016 服务器实战化操作-- 5. Exchange 就地电子数据展示和保留
    ==回顾:==上篇文章,我们成功实现了OWA和ECP的SSO单点登录配置,今天我们来看一下Exchangeserver2019的就地电子数据展示和保留,如果你的组织遵守与组织策略、合规性或诉讼相关的法律发现要求,ExchangeServer中的In-Place电子数据展示可以帮助你对邮箱中的相关内容执行发现搜索......