问题标签 [colorama]

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 投票
1 回答
744 浏览

python - subprocess.call 彩色输出

有没有办法以不同的颜色显示 subprocess.call 输出而不是返回默认颜色?我正在使用颜色。但以下内容对我不起作用。打印件工作正常,并以绿色打印测试。

上面的方法我试过了,还是不行

感谢您的帮助

0 投票
1 回答
120 浏览

python - Colorama 在 cmd 中使用 python 失败

我第一次尝试使用 colorama,但失败了——我成功导入了所有需要的东西,但输出错误。

我试图运行这段代码:

但是打印出来的文字是这样的,而且没有任何颜色(常规的 cmd 白色):

如果你能帮我解决这个问题,我会很高兴的。谢谢!

0 投票
1 回答
143 浏览

python - 如何在没有“闪烁”屏幕的情况下在 Python 中打印网格

在我一直在用 Python 编写的程序中,我需要能够一个一个地打印一个元素列表,在n 个元素之后换行以形成一个网格。但是,每次程序重新打印网格时,您都可以看到它逐个元素地进行,这看起来相当丑陋并且让用户分心。我想知道是否有一种方法可以“暂停”控制台输出一小段时间以允许打印网格,然后显示网格,擦除以前的打印输出,以不显示它逐个打印元素。我需要这样做的原因是因为程序使用 Colorama 进行彩色输出,但是列表中的不同元素需要有不同的颜色,这意味着每个元素必须一个一个地打印。

编辑(当前代码):

0 投票
1 回答
231 浏览

python - 控制台彩色文本更改字符串长度

在 Windows 中,名为 Colored Console Text 的模块colorama会更改颜色,但它也会更改字符串长度。

我该如何避免这种情况?

我的代码:

所以我想要 12 个长度,但模块增加了 5 个字符。

0 投票
1 回答
214 浏览

python - 为什么 Fore.BLUE 使文本以随机字符开头而不是使文本变为蓝色?

这是我的代码:

我希望输出是蓝色的单词“Hello”,但输出是

除了将 (?) 替换为 ? 被一个正方形包围。我的代码有问题吗?如果是这样,我该如何解决?

如果这意味着什么,我正在使用 Python 3.7.4

编辑:我也想做同样的事情,除了输入而不是打印

0 投票
1 回答
1234 浏览

python - 在 Windows 上使用 tee 时如何保留 python colorama 颜色输出

在我的 Windows 10 场景中,我想将任意 python 控制台输出(、、等)打印print()sys.exit()控制台和日志文件。我无法控制代码的某些部分(外部 python 包),所以我不能使用一些专用的日志记录机制。

经过一番研究,我在 UnxUtils 中找到了tee.exe工具,它几乎按照我想要的方式完成了这项任务。

我的问题是保留由 python 的colorama包生成的颜色。有没有办法做到这一点?目前,tee.exe 会去除颜色。

我正在寻找的答案不必依赖 tee.exe,它只是我最接近真正的解决方案。我正在寻找的应该执行以下操作:

  • 任何命令行输出都出现在命令行和日志文件中(STOUT 和 STDERR)
  • 输出实时显示在命令行上。如果日志文件也是如此,则加分。
  • 颜色保留在命令行上。如果日志文件不包含任何与颜色相关的伪影,则加分。

我到目前为止是这样的:

Python 文件teetest.py

批处理文件teetest.bat

我的输出看起来像这样(命令行和日志文件相同,没有颜色):

我正在寻找的解决方案会将上面的内容打印到命令行,因此颜色测试字样是红色的。

编辑:

看来这tee.exe并没有错。相反,colorama 会通过设计去除 ANSI 字符以进行颜色控制,因此在通过tee.exe.

来自 colorama 手册:

Colorama 也可以在 Windows 上完成这项工作,方法是包装标准输出、剥离它找到的 ANSI 序列(在输出中将显示为 gobbledygook),并将它们转换为适当的 win32 调用以修改终端的状态。

Colorama 的init()函数提供了参数strip,如果False,确实会导致 colorama 不剥离 ANSI 字符。这反过来允许编写tee.py与 相同的自定义tee.exe,如下面的用户@martineau 所述。在其中,我们可以调用 colorama 并正确处理颜色。

这可能是一个可行的解决方案,但它仍然有一个缺点,即我必须在我的原始 python 代码中替换所有 coloramainit()调用,init(strip=False)如果代码被调用而没有重定向,这反过来会导致 ANSI 字符出现在输出中tee.py

这实际上可能是我们在这里能找到的最接近正确解决方案的地方。如果有人可以提供其他想法,我会全神贯注,但我担心机会渺茫。

0 投票
2 回答
1091 浏览

python - 安装 colorama 时遇到问题

我不知道该怎么办。你可以看到我在哪里下载了文件,我正在运行最新的 pip 版本和 python 3.8。在互联网上搜索后,我空手而归。

0 投票
2 回答
70 浏览

python - 打印时更改文本颜色

我目前正在设计一个简单的游戏,并且正在尝试更改正在打印的特定事物的颜色。我已经下载了 colorama 模块并使用我在网上找到的示例运行了我的代码,但这不起作用(我稍后会告诉细节)。我知道 Python 选项中的一个设置,但这会影响整个文本而不是特定部分。如果这有助于我的计算机运行 Windows 并且我正在运行 Python 3.8。这是设置代码,然后几行是我在单独文件中的代码。之后的几行是输出:

0 投票
2 回答
619 浏览

python - Colorama 和 Pyinstaller

这是我的问题:我编写了一个 python 机器人,它可以制作很多东西,包括打印彩色文本以便更好地理解。我正在使用 colorama 包,因为它甚至在 Windows 命令提示符下也能打印颜色。这是我使用 colorama 的方法,它可以在 unix 和 windows 上使用 python 3.8 :

现在我的目标是将我的脚本转换为 .exe,这样它就可以在 Windows 上运行而无需任何安装。问题是,使用 pyinstaller.exe --onefile script.py 或 pyinstaller.exe --onedir script.py 或其他什么,我无法使其工作。Pyinstaller 成功构建 EXE 并显示 0 错误消息,但每当我启动 exe 时,我都会得到 : ModuleNotFoundError: No module named 'colorama' 这是唯一缺少的模块。我已经搜索了整个互联网,并没有自己解决这个问题。你们是我最后的希望!请帮我

0 投票
2 回答
152 浏览

python - 我可以使用用户输入作为 colorama 模块中的颜色吗?

我正在尝试使用 colorama 模块编写一个程序,该模块以选定的颜色打印用户的输入消息。除了使用一堆 If 语句之外,还有什么方法可以做到这一点。这是我目前的代码:

现在我的代码在最后一行给了我一个错误,因为颜色不是 Fore 的识别颜色。关键字,但我希望它会使用颜色的用户输入。

任何帮助,将不胜感激