天道酬勤,学无止境

ansi-colors

[31m 文本而不是颜色的输出(output of [31m text instead of color)

问题 我正在尝试使用 colorama 打印彩色文本,但是当我编译一个 exe 并运行以下... from colorama import Fore, Back, Style print(Fore.RED + 'text') print(Back.GREEN + 'and with a green background') print(Style.DIM + 'and in dim text') print(Style.RESET_ALL) print('back to normal now') I get output of:: 输出: [31mtext [0m back to normal now 编译为 pyinstaller exe 时是否可以打印颜色,或者这根本不可能? 回答1 在 Windows 上,您必须使用colorama.init()初始化 Colorama(请参阅第二行): from colorama import Fore, Back, Style colorama.init() print(Fore.RED + 'text') print(Back.GREEN + 'and with a green background') print(Style.DIM + 'and in dim text') print(Style.RESET_ALL) print(

2021-10-20 08:56:05    分类:技术分享    python   terminal   ansi-colors

标准库中的某处是否有 ANSI 颜色转义码列表?(Is there a list of ANSI color escape codes somewhere in the standard libraries?)

问题 我写了很多小帮助脚本,通常这些脚本会在终端中打印彩色文本。 为了它们打包和分发的简单性,我经常希望这些小脚本没有任何依赖。 因此,我在脚本中复制了很多这样的数据: ansi_colors = { None: '\x1b[0m', # actually black but whatevs 'red': '\x1b[31m', 'green' : '\x1b[32m', ... } 这些数据是否存在于核心库中的任何地方? 我四处寻找,发现curses有一些COLOR_*常量,但它们只是整数,并且不清楚它们如何转换为ANSI 转义码。 我已经知道诸如termcolor 、 colorama 、 blessings类的模块,所以请不要建议使用它们——我只想依赖于标准库。 回答1 您可以查看手册页 console_codes(4)。 你想要的是 ECMA-48 Set Graphics Rendition: ECMA-48 SGR 序列ESC [ parameters m设置显示属性。 可以按相同的顺序设置多个属性,用分号分隔。 空参数(在分号或字符串起始符或终止符之间)被解释为零。 param result 0 reset all attributes to their defaults 1 set bold 2 set half-bright (simulated with

2021-10-07 07:44:30    分类:技术分享    python   curses   python-curses   ansi-colors

如何让 clang 转储没有颜色的 AST?(How do I get clang to dump the AST without color?)

问题 使用clang-check转储源代码的 AST,可以使用以下命令完成: $ clang-check -ast-dump file.c -- 但是,此命令的输出将在终端中显示为彩色。 当我将输出定向到文件时,我遇到了所有颜色转义码: $ clang-check -ast-dump file.c -- > out.txt 例子: [0;1;32mTranslationUnitDecl[0m[0;33m 0x227c5c0[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m [0;34m|-[0m[0;1;32mTypedefDecl[0m[0;33m 0x227cac0[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m implicit[0;1;36m __int128_t[0m [0;32m'__int128'[0m [0;34m|-[0m[0;1;32mTypedefDecl[0m[0;33m 0x227cb20[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m implicit[0;1;36m __uint128_t[0m [0;32m'unsigned __int128'[0m [0;34m|-[0m[0;1

2021-09-29 03:21:56    分类:技术分享    clang   abstract-syntax-tree   clang++   ansi-colors

在删除 ANSI 颜色代码的同时打印到 STDOUT 和日志文件(Printing to STDOUT and log file while removing ANSI color codes)

问题 我有以下功能可以为我的屏幕消息着色: def error(string): return '\033[31;1m' + string + '\033[0m' def standout(string): return '\033[34;1m' + string + '\033[0m' 我使用它们如下: print error('There was a problem with the program') print "This is normal " + standout("and this stands out") 我想在没有 ANSI 颜色代码的情况下将输出记录到一个文件中(除了 STDOUT),希望不必在每个print语句中添加第二个“记录”行。 原因是如果你只是简单地python program.py > out那么文件out将具有 ANSI 颜色代码,如果你在纯文本编辑器中打开,这看起来很糟糕。 有什么建议吗? 回答1 sys.stdout.isatty函数可能会有所帮助: from sys import stdout def error(string, is_tty=stdout.isatty()): return ('\033[31;1m' + string + '\033[0m') if is_tty else string def standout

2021-09-18 22:49:18    分类:技术分享    python   logging   stdout   ansi-colors

Is there a list of ANSI color escape codes somewhere in the standard libraries?

I write a lot of little helper scripts, and often these print coloured text in the terminal. For the simplicity of their packaging and distribution, I often want these little scripts to be without any dependencies. Hence I'm duplicating data like this a lot in scripts: ansi_colors = { None: '\x1b[0m', # actually black but whatevs 'red': '\x1b[31m', 'green' : '\x1b[32m', ... } Does this data exist anywhere in the core libraries? I dug around and found that curses has some COLOR_* constants, but they are just integers and it's not obvious how those transform into the ANSI escape codes. I'm

2021-09-05 15:48:31    分类:问答    python   curses   python-curses   ansi-colors

通过 powershell 在 jenkins 中使用 AnsiColor(Use AnsiColor in jenkins via powershell)

问题 关于如何使用 powershell 在 Jenkins 上为我的输出着色的任何想法? 我已经在我的 Jenkins 上安装了 AnsiColor 插件,并且我已经将工作设置为使用 AnsiColor。 唯一的问题是如何让我的 powershell 在 Jenkins 上输出颜色。 回答1 好吧,我以前从未使用过它,所以我想我会尝试一下。 基本上,您只需将转义字符 (ASCII 27) 后跟左括号[ ,然后将代码(如本页所述)直接放入字符串中。 为了使这更容易,我编写了一个格式化字符串的函数: function Format-AnsiColor { [CmdletBinding()] [OutputType([String])] param( [Parameter( Mandatory = $true, ValueFromPipeline = $true )] [AllowEmptyString()] [String] $Message , [Parameter()] [ValidateSet( 'normal display' ,'bold' ,'underline (mono only)' ,'blink on' ,'reverse video on' ,'nondisplayed (invisible)' )] [Alias('attribute')] [String]

2021-06-25 04:35:50    分类:技术分享    powershell   jenkins   jenkins-plugins   ansi-colors

ANSI escape sequences: save and restore a row position

I'm writing a very simple little console application and I'm playing around with some ANSI escape sequences to get some nicer output. What I'm trying to do is something like this. There's a header with a name, and then underneath, as the program runs, several lines are printed. As each line is printed, I'd like to update the header row with a progress meter. eg: My header row [ 0/5 ] ------------------------------------- then after some processing My header row [ 1/5 ] ------------------------------------- here is some output ... My header row [ 2/5 ] ------------------------------------- here

2021-06-23 06:19:40    分类:问答    terminal   command-line-interface   ansi-colors

How do I get clang to dump the AST without color?

Using clang-check to dump a source code's AST, can be done with the following command: $ clang-check -ast-dump file.c -- However, the output of this command will appear colorful within the terminal. When I direct the output to a file, I'm stuck with all of the color escape codes: $ clang-check -ast-dump file.c -- > out.txt example: [0;1;32mTranslationUnitDecl[0m[0;33m 0x227c5c0[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m [0;34m|-[0m[0;1;32mTypedefDecl[0m[0;33m 0x227cac0[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m implicit[0;1;36m __int128_t[0m [0;32m'__int128'[0m [0;34m|-[0m

2021-06-13 15:30:38    分类:问答    clang   abstract-syntax-tree   clang++   ansi-colors

output of [31m text instead of color

I am trying to print coloured text with colorama but when I compile an exe and run following... from colorama import Fore, Back, Style print(Fore.RED + 'text') print(Back.GREEN + 'and with a green background') print(Style.DIM + 'and in dim text') print(Style.RESET_ALL) print('back to normal now') I get output of:: Output: [31mtext [0m back to normal now Is it possible to print colors when compiling to pyinstaller exe or is this simply not possible?

2021-06-13 09:44:31    分类:问答    python   terminal   ansi-colors

有没有一种简单的方法来对编译器输出进行颜色编码?(Is there an easy way to COLOR-CODE the compiler outputs?)

问题 gcc(或其他编译器)通常会生成大量文本输出,并且很难看到错误在哪里或错过警告。 我已经做了一些搜索,但还没有找到一个干净简单的解决方案来对编译器输出进行颜色编码(例如警告是黄色,错误是红色等......) 回答1 如果您正在寻找非常简单的东西,这里有一个替代方案: #!/bin/bash -e make ${@} 2>&1 | perl -wln -M'Term::ANSIColor' -e ' m/Building|gcc|g++|\bCC\b|\bcc\b/ and print "\e[1;32m", "$_", "\e[0m" or m/Error/i and print "\e[1;91m", "$_", "\e[0m" or m/Warning/i and print "\e[1;93m", "$_", "\e[0m" or m/Linking|\.a\b/ and print "\e[1;36m", "$_", "\e[0m" or print; ' 只需将您的 make 别名为该脚本并确保它是可执行的... 回答2 Gcc 4.9 似乎通过-fdiagnostics-color标志添加了此功能: 回答3 为此,Debian 和 Ubuntu 提供了colorgcc包。 我通常通过带有Mx compile emacs运行gcc (和make ),然后将消息着色。

2021-06-09 18:19:09    分类:技术分享    gcc   g++   ansi-colors