输出重定向到文件后丢失颜色
🎨 用
>> out.txt重定向后,文件里都是颜色转义码\x1b[...。
原因
click.secho / loguru 检测到是终端时输出彩色转义序列。重定向到文件时,若仍被误判为终端(或强制开色),转义码会进文件。
解决
1. 强制无颜色
loguru 默认根据是否 TTY 决定颜色。重定向时通常自动关色。若仍异常,禁用:
python
logger.add(sys.stderr, colorize=False)2. 用 col / sed 清理
已产生的文件清理颜色码:
bash
sed -r 's/\x1B\[[0-9;]*[mK]//g' out.txt > clean.txt3. 用 script 保留
若想保留彩色同时又存文件,用 script 命令录制终端。