我想知道,将stdout打印到文本文件时有没有办法保存文本的颜色?以下是一段代码:
import sys, time, shutil
sys.stdout = open('testytest.txt', 'w')
print "\033[0;32mSome text"
time.sleep(1)
#"Some text" should still be colored when reprinted
with open('testytest.txt', 'r') as testfile:
shutil.copyfileobj(testfile, sys.stdout)
那么,再一次,当stdout被保存到文本文件时,有没有办法保存颜色?或者它已经保存了吗?
答案 0 :(得分:1)
你也可以打印转义字符。
因此,如果您将打印到stdout的数据保存为:
python somescript.py > somefile
该文件也将包含转义字符。
结论是:已保存。实际上不存在修改颜色的说明。该程序只是编写一个二进制流,一些shell可视化程序将其解释为颜色命令。