我正在尝试更改终端中 pytest 的颜色输出,但未能做到这一点。我当前在终端中更改颜色输出的设置可以在here找到,但似乎不适用于 pytest。然而,pytest 输出当前是彩色的,但我想更改颜色。例如,当运行 pytest 测试时,出现错误,输出为红色,我希望它为蓝色。
如何更改 pytest 颜色输出中使用的颜色?
您可以使用管道外部脚本,例如我的colorTail.pl:
python -m pytest -vv | perl ~/scripts/colorTail.pl
#!/usr/bin/perl -w
print "\e[1;32m==================================================================================================\n";
print "\e[1;33m## colorTail.pl by David G. Folch ##\n";
print "\e[1;32mColorTail gives color to your console outputs.\n";
print "Optionally accepts a regex parameter, this regex (not casesensitive) will be colored in green\n";
print "Example: tail /var/logs/*.log | perl colorTail.pl\n";
print "Example: tail /var/logs/*.log | perl colorTail.pl myCustomGreenColoredMatchRegexText\n";
print "==================================================================================================\e[0m\n";
$markedText=$ARGV[0];
if (!defined($markedText)) {
$markedText="A# Z#"; #UN TEXTO QUE SEA MUY POCO PROBLABLE QUE LO ENCUENTRE
}
while(<STDIN>) {
my $line = $_;
chomp($line);
for($line){
s/fatal.*|error.*|.*exception.*|\tat .*/\e[0;31m$&\e[0m/gi;
s/$markedText|cuda[0-9a-z_]*|gpu[0-9a-z_]*|info .*|.*user-agent=.*|RemoteAddr=.*| interceptors\.[^ ]+| com\.lm\.[^ ]+| util\.[^ ]+| cronjobs\.[^ ]+/\e[1;32m$&\e[0m/gi;
s/warn.*|ACTION URL=.*/\e[1;33m$&\e[0m/gi;
s/debug.*/\e[1;35m$&\e[0m/gi;
}
print $line, "\n";
}