我在Python编程方面绝对是新手,我想问一些问题:
我有一个文本文件,并使用python读取了该内容:
with open("help/myhelp.help", "r") as f:
for line in f:
print(line, end='')
文件内容:
Usage: \033[00;33mcommand [options] do-sth '<param1>;<param2> **' \033[0m
...但是颜色没有改变。如果我复制文本行并将其放入python print()函数中,它将正常工作。
因此,在读取文件内容之后,我想显示彩色的行...
是否有可能解决这个问题?
答案 0 :(得分:2)
问题是,当您读取文件时,默认情况下颜色序列不会转义。当您将其复制粘贴到Python字符串时,它起作用的原因是解释器对字符串进行了转义。
with open('help/myhelp.help', encoding='unicode_escape') as f:
for line in f:
print(line)
有关该主题的详细信息,请参见https://docs.python.org/3.7/reference/lexical_analysis.html#literals和https://docs.python.org/3/library/codecs.html。
答案 1 :(得分:0)
您可以使用os模块,这样您的代码就可以了
import os
os.system('color a')
with open("help/myhelp.help", "r") as f:
for line in f:
print(line)
因此一切都完成了
您可以通过将a
更改为其他字母或数字来获得所需的颜色。
This link有助于说明如何获取颜色代码。