如何在使用 recv() 获得正则表达式后正确地制作我的十六进制字符串?

我编写了一个 TCP 客户端应用程序来从本地服务器接收一些数据并且它可以工作。


这是所有的代码


# -*- coding: utf-8 -*-

import socket


s = socket.socket()

host = '192.168.1.10'

port = 4001


s.connect((host,port))

print('')

print('********************************************************')

print (s.recv(13))

print('********************************************************')

s.close

我在 dos 中运行它,它显示了我想要的数据

http://img2.mukewang.com/613c52f00001d76f06340134.jpg

但我真正需要的是红色矩形中的那些


所以我稍微改变了我的代码,但它没有显示我想要的。我想我只是搞砸了所有的正则表达式


这是我的python代码,非常简单


# -*- coding: utf-8 -*-

import socket

import re


s = socket.socket()

host = '192.168.1.10'

port = 4001


s.connect((host,port))

print(' ')

print('********************************************************')

#print (s.recv(13))

#m = re.match(r'^\xn[5-12]',s.recv(13))

a = s.recv(13)

m = re.match(r'^/\xn[5-12]$',a)

print(m)

print('********************************************************')

s.close


守着星空守着你
浏览 183回答 2
2回答

皈依舞

取一部分字节:a[4:7].

凤凰求蛊

如果您想要来自字节对象的数值,您必须单独获取这些值。redRectangle = [a[i] for i in range(4,7)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python