问题标签 [rich]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
51 浏览

python - 使用 Rich 在 Python 中解析 Json - 为什么会发生这种情况?

我正在使用丰富的库来解析通过 aiohttp 检索到的 json 数据。它直接从 API 打印数据效果很好,格式很好(带有换行符,因此不难阅读):

然后程序将其附加到字典中,例如:

然后在它完成了一个 ip 地址列表之后,它将这个字典写入一个文件。我遇到的问题是,当我加载这些数据以稍后查看并尝试解析它时,丰富的库不会像它刚刚来自 API 时那样很好地格式化它。它总是最终看起来像:

这对我不起作用,因为我需要能够真正阅读它。我目前用来解析它的代码如下所示:

我试过rich.print_json一次使用和解析字典条目,真的是各种各样的事情。我在写这篇文章时确实注意到,如果数据像第一个示例中那样保存,并且具有漂亮的换行符格式,那么它确实可以正确解析,但我也不知道该怎么做。

所以我的问题是(猜想是两个问题):1)我如何保存丰富的数据,以便以我在屏幕上看到的方式保存数据?并且:2)我如何使用第一个示例中看到的漂亮换行格式解析文件中的 json 数据?这甚至可能吗?也许这就是它返回 API 的方式,并且它的编写方式不同。但是我尝试按原样编写数据而不将其附加到字典中,但这也不起作用。

0 投票
0 回答
54 浏览

python - 使用丰富的python自定义日志记录格式器

我正在尝试将richFormatter() 添加到我现有的日志记录堆栈中,但是我怎样才能让它适合我自己的日志记录格式:而不是将默认的richLogger 包装在它之外?

从输出中你可以看到第一行很丰富,第二行是我的默认格式:

在此处输入图像描述

0 投票
0 回答
17 浏览

python - 当富布局滚动超过屏幕/控制台末尾时显示省略号

是否可以配置rich.Layout() 来指示布局中的项目数何时超过了当前布局的显示大小?

我希望能够以编程方式告诉代码何时尝试显示太多项目以供当前表格/布局显示以显示省略号或消息,例如“......和 ​​200 个其他项目”。这将允许程序提醒用户某些项目没有被显示。

Layout 中有一个size属性,但该值似乎是将布局限制为固定大小的输入,而不是当前布局大小的指示符。在我当前的应用程序中,我宁愿不限制布局的大小以使用完整的可用布局大小,无论该值是多少。

0 投票
0 回答
24 浏览

python - 如何在运行配置中启用“在输出控制台中模拟终端”的断点上返回 PyCharm 的交互式 pydev 调试器/REPL?

我正在使用该rich库作为进度/状态指示器,并为日志输出着色,以便一目了然地理解它。

要在 PyCharm 的调试器中启用丰富的格式pydev,必须在运行配置中启用“在输出控制台中模拟终端”。

然而,这样一来,人们就不能再以通常的方式使用调试器的 REPL。有没有办法在保留丰富的输出和状态指标的同时实现这一点?

示例代码:

为了清晰起见,REPL 交互性的可视化。左侧的脚本,右侧脚本中各个点的调试器: 在 PyCharm 中调试时,REPL 交互性会丢失,但在 pdb 的情况下不会

版本信息:

  • PyCharm Professional 2021.3.2 (Build #PY-2136777.50)
  • rich 11.0.0
  • Python 3.9.9 and 3.10.1

可能不相关: 外壳:bash 5.1.16 内核:5.16.2-1-MANJARO DE:Plasma 5.23.5

0 投票
0 回答
33 浏览

python - 将打印和/或记录重定向到 Panel

我制作了一个小应用程序,它使用 Rich 在多个面板中显示实时视图。
有没有办法将标准(或丰富)print语句放入特定面板?
能够在其自己的专用面板中显示日志输出也可以。

我觉得这将是一个非常常见的用例,但我没有找到任何文档。我认为答案可能在于使用该Console.capture()方法,但我无法弄清楚。

0 投票
1 回答
30 浏览

python - 丰富的检查发现

我试图进一步深入研究 Rich inpsect 以了解它是如何执行以下操作的。

如果我像这样看一个对象 ( result)。我可以看到它具有以下属性和方法。

如果我这样看 Rich 的输出:

我看到它只正确显示了感兴趣的属性和方法。谁能指出我 Rich 如何确定要打印的内容?

谢谢,

0 投票
1 回答
27 浏览

python - 为富树中的文本着色

我在 Rich 内建了一些树。但是,如果我将数据作为字符串传递给树分支,我会输出 obj repr() 以及 Rich 似乎只想显示的 Python 对象详细信息。IE

我的问题是,我可以在 Rich 中为我的树的输出着色吗?例如,如果我将类型传递给树而不将其转换为字符串,我会得到:

但不确定在这里使用什么控制台方法。任何帮助都会很棒。谢谢。

0 投票
0 回答
21 浏览

python - (Python/rich) 退出时恢复光标默认值

我有一个 Python3.9+ 项目,可以在 Linux 和 Windows 的命令行上运行。我使用rich与控制台进行交互。出于好奇,我想知道是否可以在程序开始时保存控制台光标的特征(至少,光标是否可见?)并根据这些特征修改控制台光标(最后程序)。

我在文档中一无所获。

0 投票
1 回答
22 浏览

python - 使用 Python Rich 在布局中获取提示

是否可以使用 Python RichLayout 元素中使用Prompt 获取用户输入?

我的目标是使用 Rich 的 Layout 构建一个有 4 个窗格的全屏窗口。包含标题、成分和方法的前 3 个工作正常,但我希望底部包含一个用户输入提示。

期望的输出:

用户输入的文本显示在布局的底部面板内。

我的尝试:

实际输出:

请注意,提示>:位于布局部分之外。

0 投票
1 回答
37 浏览

python - Python Rich:表情符号未显示

所以当我运行它时我得到我没有得到什么是错误请帮助我对这些主题很困惑所以我不知道错误是什么

在此处输入图像描述