Python 获取终端输出的颜色/返回的文本的颜色

Python 获取终端输出的颜色/返回的文本的颜色,python,sockets,colors,terminal,pwntools,Python,Sockets,Colors,Terminal,Pwntools,我目前正在尝试自动化一个简单的颜色阅读测试。我用nc连接到服务,它会给我一个特定颜色的文本,然后提示用户命名上面的彩色文本 这看起来像这样: 数控 这是你的颜色:颜色!(例如绿色) >绿色的 好的 这是你的颜色:颜色!(例如蓝色) >红色的 错误!不行 退出 我当前的代码看起来像这样,但是我不知道如何实现它 #!/usr/bin/python 导入系统 导入套接字 从pwn进口* hostname='ip' 端口=777 r=远程(主机名、端口) def recv(字符串): 打印r.recv

我目前正在尝试自动化一个简单的颜色阅读测试。我用nc连接到服务,它会给我一个特定颜色的文本,然后提示用户命名上面的彩色文本

这看起来像这样: 数控 这是你的颜色:颜色!(例如绿色)

>绿色的

好的

这是你的颜色:颜色!(例如蓝色)

>红色的

错误!不行

退出

我当前的代码看起来像这样,但是我不知道如何实现它


#!/usr/bin/python
导入系统
导入套接字
从pwn进口*
hostname='ip'
端口=777
r=远程(主机名、端口)
def recv(字符串):
打印r.recv()
打印r.recvuntil(字符串)
def发送(字符串):
打印r.send(字符串)
#循环浏览订单并检查订单
尽管如此:
recv(“这是您的颜色:”)
color=r.recvuntil(“color!”)#接收颜色
打印“颜色为:”+命令
recv(“>”)#接收直到输入提示
如果颜色=绿色:#检查哪种颜色
发送(“绿色”)
其他:
发送(“其他”)
解决方案应该让它无休止地运行,而不需要用户提示任何内容。

现在就解决了。 我通过打印收到的字符串的原始版本找到了颜色

repr(color)
对于绿色文本,结果是:

\x1b[92mGreen

然后我简单地检查了颜色标识符(\x1b[92m)是否在字符串中。

现在解决了它。 我通过打印收到的字符串的原始版本找到了颜色

repr(color)
对于绿色文本,结果是:

\x1b[92mGreen


然后我简单地检查了字符串中是否有颜色标识符(\x1b[92m)。

是否检查了接收到的字符串以查看它们使用了哪些颜色控制代码?是否检查了接收到的字符串以查看它们使用了哪些颜色控制代码?