在我用python编写的telnet服务器中,如果我向客户端套接字发送一条消息,如下所示:
searchText
然后它为客户端正确着色。
但是当我使用文本文件时,例如,带有这样内容的hello.txt:
socket.send("\033[32;1mHello!\033[0m")
并像这样发送:
\033[32;1mHello!\033[0m
然后文字没有着色,看起来像这样:
f = io.open("files/hello.txt",'r')
message = f.read()
f.close()
socket.send(message)
我如何让它也着色?
答案 0 :(得分:2)
从文件中读取时,反斜杠将被转义,因此请尝试:
import codecs
socket.send(codecs.getdecoder('unicode_escape')(message)[0])
查看文档以供进一步参考:https://docs.python.org/2/library/codecs.html#python-specific-encodings。这可能不适用于python3。
更新:结果是python3,你必须:
{{1}}